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"
+ },
+