Skip to content

Instantly share code, notes, and snippets.

@Julian-dev28
Created August 9, 2023 01:03
Show Gist options
  • Save Julian-dev28/9bf94cde18400437e1b0a51f78fdda98 to your computer and use it in GitHub Desktop.
Save Julian-dev28/9bf94cde18400437e1b0a51f78fdda98 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;
library console {
address constant CONSOLE_ADDRESS =
0x000000000000000000636F6e736F6c652e6c6f67;
function _sendLogPayloadImplementation(bytes memory payload) internal view {
address consoleAddress = CONSOLE_ADDRESS;
/// @solidity memory-safe-assembly
assembly {
pop(
staticcall(
gas(),
consoleAddress,
add(payload, 32),
mload(payload),
0,
0
)
)
}
}
function _castToPure(
function(bytes memory) internal view fnIn
) internal pure returns (function(bytes memory) pure fnOut) {
assembly {
fnOut := fnIn
}
}
function _sendLogPayload(bytes memory payload) internal pure {
_castToPure(_sendLogPayloadImplementation)(payload);
}
function log() internal pure {
_sendLogPayload(abi.encodeWithSignature("log()"));
}
function logInt(int256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
}
function logUint(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function logString(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function logBool(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function logAddress(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function logBytes(bytes memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
}
function logBytes1(bytes1 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
}
function logBytes2(bytes2 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
}
function logBytes3(bytes3 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
}
function logBytes4(bytes4 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
}
function logBytes5(bytes5 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
}
function logBytes6(bytes6 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
}
function logBytes7(bytes7 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
}
function logBytes8(bytes8 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
}
function logBytes9(bytes9 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
}
function logBytes10(bytes10 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
}
function logBytes11(bytes11 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
}
function logBytes12(bytes12 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
}
function logBytes13(bytes13 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
}
function logBytes14(bytes14 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
}
function logBytes15(bytes15 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
}
function logBytes16(bytes16 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
}
function logBytes17(bytes17 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
}
function logBytes18(bytes18 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
}
function logBytes19(bytes19 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
}
function logBytes20(bytes20 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
}
function logBytes21(bytes21 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
}
function logBytes22(bytes22 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
}
function logBytes23(bytes23 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
}
function logBytes24(bytes24 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
}
function logBytes25(bytes25 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
}
function logBytes26(bytes26 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
}
function logBytes27(bytes27 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
}
function logBytes28(bytes28 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
}
function logBytes29(bytes29 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
}
function logBytes30(bytes30 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
}
function logBytes31(bytes31 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
}
function logBytes32(bytes32 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
}
function log(uint256 p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function log(string memory p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function log(bool p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function log(address p0) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function log(uint256 p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
}
function log(uint256 p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
}
function log(uint256 p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
}
function log(uint256 p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
}
function log(string memory p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
}
function log(string memory p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
}
function log(string memory p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
}
function log(string memory p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
}
function log(bool p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
}
function log(bool p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
}
function log(bool p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
}
function log(bool p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
}
function log(address p0, uint256 p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
}
function log(address p0, string memory p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
}
function log(address p0, bool p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
}
function log(address p0, address p1) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
}
function log(uint256 p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
}
function log(uint256 p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
}
function log(uint256 p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
}
function log(uint256 p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
}
function log(uint256 p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
}
function log(uint256 p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
}
function log(uint256 p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
}
function log(uint256 p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
}
function log(uint256 p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
}
function log(string memory p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
}
function log(string memory p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
}
function log(string memory p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
}
function log(string memory p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
}
function log(string memory p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
}
function log(string memory p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
}
function log(string memory p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
}
function log(string memory p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
}
function log(string memory p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
}
function log(string memory p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
}
function log(string memory p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
}
function log(string memory p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
}
function log(bool p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
}
function log(bool p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
}
function log(bool p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
}
function log(bool p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
}
function log(bool p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
}
function log(bool p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
}
function log(bool p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
}
function log(bool p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
}
function log(bool p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
}
function log(bool p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
}
function log(bool p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
}
function log(bool p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
}
function log(bool p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
}
function log(bool p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
}
function log(bool p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
}
function log(bool p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
}
function log(address p0, uint256 p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
}
function log(address p0, uint256 p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
}
function log(address p0, uint256 p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
}
function log(address p0, uint256 p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
}
function log(address p0, string memory p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
}
function log(address p0, string memory p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
}
function log(address p0, string memory p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
}
function log(address p0, string memory p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
}
function log(address p0, bool p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
}
function log(address p0, bool p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
}
function log(address p0, bool p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
}
function log(address p0, bool p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
}
function log(address p0, address p1, uint256 p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
}
function log(address p0, address p1, string memory p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
}
function log(address p0, address p1, bool p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
}
function log(address p0, address p1, address p2) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint256)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, uint256 p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, string memory p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, bool p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, address p3) internal pure {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3));
}
}
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract AdditionContract {
function add(uint256 a, uint256 b) public pure returns (uint256 sum) {
return a + b;
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506101b4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063771602f714610030575b600080fd5b61004a600480360381019061004591906100b1565b610060565b6040516100579190610100565b60405180910390f35b6000818361006e919061014a565b905092915050565b600080fd5b6000819050919050565b61008e8161007b565b811461009957600080fd5b50565b6000813590506100ab81610085565b92915050565b600080604083850312156100c8576100c7610076565b5b60006100d68582860161009c565b92505060206100e78582860161009c565b9150509250929050565b6100fa8161007b565b82525050565b600060208201905061011560008301846100f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006101558261007b565b91506101608361007b565b92508282019050808211156101785761017761011b565b5b9291505056fea26469706673582212209dff6943067777ec02d7aaac5d34f722d7c82be6f43fbe2027dce47e60d9ae1964736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B4 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xB1 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x14A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8E DUP2 PUSH2 0x7B JUMP JUMPDEST DUP2 EQ PUSH2 0x99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAB DUP2 PUSH2 0x85 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH2 0xC7 PUSH2 0x76 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE7 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFA DUP2 PUSH2 0x7B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x115 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x155 DUP3 PUSH2 0x7B JUMP JUMPDEST SWAP2 POP PUSH2 0x160 DUP4 PUSH2 0x7B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x11B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 SELFDESTRUCT PUSH10 0x43067777EC02D7AAAC5D CALLVALUE 0xF7 0x22 0xD7 0xC8 0x2B 0xE6 DELEGATECALL EXTCODEHASH 0xBE KECCAK256 0x27 0xDC 0xE4 PUSH31 0x60D9AE1964736F6C6343000812003300000000000000000000000000000000 ",
"sourceMap": "58:132:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_15": {
"entryPoint": 96,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 156,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 177,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 241,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 330,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 123,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 283,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 118,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 133,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1902:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "773:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "819:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "821:77:1"
},
"nodeType": "YulFunctionCall",
"src": "821:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "821:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "794:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "803:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "790:3:1"
},
"nodeType": "YulFunctionCall",
"src": "790:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "815:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "786:3:1"
},
"nodeType": "YulFunctionCall",
"src": "786:32:1"
},
"nodeType": "YulIf",
"src": "783:119:1"
},
{
"nodeType": "YulBlock",
"src": "912:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "927:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "931:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "956:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "991:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1002:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "987:3:1"
},
"nodeType": "YulFunctionCall",
"src": "987:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1011:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "966:20:1"
},
"nodeType": "YulFunctionCall",
"src": "966:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1039:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1054:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1068:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1058:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1084:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1119:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1130:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1139:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1094:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1094:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1084:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "735:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "746:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "758:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "766:6:1",
"type": ""
}
],
"src": "690:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1252:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1275:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1257:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1257:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1245:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1245:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1223:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1230:3:1",
"type": ""
}
],
"src": "1170:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1392:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1402:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1414:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1425:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1410:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1410:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1402:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1482:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1495:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1506:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1491:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1491:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1438:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1438:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1438:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1364:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1376:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1387:4:1",
"type": ""
}
],
"src": "1294:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1550:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1567:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1570:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1560:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1560:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1560:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1664:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1667:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1657:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1657:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1657:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1688:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1691:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1681:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1681:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1681:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1522:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1752:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1762:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1785:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1767:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1767:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1762:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1796:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1819:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1801:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1801:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1796:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1830:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1841:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1844:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1837:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1830:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1870:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1872:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1872:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1872:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1862:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1865:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1859:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1859:10:1"
},
"nodeType": "YulIf",
"src": "1856:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1739:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1742:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1748:3:1",
"type": ""
}
],
"src": "1708:191:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063771602f714610030575b600080fd5b61004a600480360381019061004591906100b1565b610060565b6040516100579190610100565b60405180910390f35b6000818361006e919061014a565b905092915050565b600080fd5b6000819050919050565b61008e8161007b565b811461009957600080fd5b50565b6000813590506100ab81610085565b92915050565b600080604083850312156100c8576100c7610076565b5b60006100d68582860161009c565b92505060206100e78582860161009c565b9150509250929050565b6100fa8161007b565b82525050565b600060208201905061011560008301846100f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006101558261007b565b91506101608361007b565b92508282019050808211156101785761017761011b565b5b9291505056fea26469706673582212209dff6943067777ec02d7aaac5d34f722d7c82be6f43fbe2027dce47e60d9ae1964736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xB1 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x14A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8E DUP2 PUSH2 0x7B JUMP JUMPDEST DUP2 EQ PUSH2 0x99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAB DUP2 PUSH2 0x85 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH2 0xC7 PUSH2 0x76 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE7 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFA DUP2 PUSH2 0x7B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x115 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x155 DUP3 PUSH2 0x7B JUMP JUMPDEST SWAP2 POP PUSH2 0x160 DUP4 PUSH2 0x7B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x11B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 SELFDESTRUCT PUSH10 0x43067777EC02D7AAAC5D CALLVALUE 0xF7 0x22 0xD7 0xC8 0x2B 0xE6 DELEGATECALL EXTCODEHASH 0xBE KECCAK256 0x27 0xDC 0xE4 PUSH31 0x60D9AE1964736F6C6343000812003300000000000000000000000000000000 ",
"sourceMap": "58:132:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;146:11;180:1;176;:5;;;;:::i;:::-;169:12;;90:98;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:118::-;1257:24;1275:5;1257:24;:::i;:::-;1252:3;1245:37;1170:118;;:::o;1294:222::-;1387:4;1425:2;1414:9;1410:18;1402:26;;1438:71;1506:1;1495:9;1491:17;1482:6;1438:71;:::i;:::-;1294:222;;;;:::o;1522:180::-;1570:77;1567:1;1560:88;1667:4;1664:1;1657:15;1691:4;1688:1;1681:15;1708:191;1748:3;1767:20;1785:1;1767:20;:::i;:::-;1762:25;;1801:20;1819:1;1801:20;:::i;:::-;1796:25;;1844:1;1841;1837:9;1830:16;;1865:3;1862:1;1859:10;1856:36;;;1872:18;;:::i;:::-;1856:36;1708:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "87200",
"executionCost": "135",
"totalCost": "87335"
},
"external": {
"add(uint256,uint256)": "infinite"
}
},
"methodIdentifiers": {
"add(uint256,uint256)": "771602f7"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/AdditionContract.sol": "AdditionContract"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/AdditionContract.sol": {
"keccak256": "0x5a40a41bd574a85edea219b694b1d533675ea467e2a7325d1f4af2ed6aeedafe",
"license": "MIT",
"urls": [
"bzz-raw://1d192d0b6b2eba8fda265237c295c6229c643f61b2a81a1c8224fb58e11fb0fa",
"dweb:/ipfs/QmXMyyMEszapG5ugt2uaPfYQeMZhLXmEQ5urMXQiWT4gPP"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610937806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063371303c01461005c57806378b529481461007a578063a87d942c14610084578063b3bcfa82146100a2578063be65ab8c146100ac575b600080fd5b6100646100dd565b6040516100719190610632565b60405180910390f35b61008261024e565b005b61008c6103de565b6040516100999190610632565b60405180910390f35b6100aa610427565b005b6100c660048036038101906100c191906106b0565b6105d5565b6040516100d49291906106ec565b60405180910390f35b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a590610772565b60405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825461020091906107c1565b925050819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b600073ffffffffffffffffffffffffffffffffffffffff166000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461031e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031590610841565b60405180910390fd5b60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed90610772565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541161057a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610571906108ad565b60405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282546105cc91906108cd565b92505081905550565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000819050919050565b61062c81610619565b82525050565b60006020820190506106476000830184610623565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061067d82610652565b9050919050565b61068d81610672565b811461069857600080fd5b50565b6000813590506106aa81610684565b92915050565b6000602082840312156106c6576106c561064d565b5b60006106d48482850161069b565b91505092915050565b6106e681610672565b82525050565b600060408201905061070160008301856106dd565b61070e6020830184610623565b9392505050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061075c600983610715565b915061076782610726565b602082019050919050565b6000602082019050818103600083015261078b8161074f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107cc82610619565b91506107d783610619565b92508282019050808211156107ef576107ee610792565b5b92915050565b7f436f756e74657220616c72656164792065786973747300000000000000000000600082015250565b600061082b601683610715565b9150610836826107f5565b602082019050919050565b6000602082019050818103600083015261085a8161081e565b9050919050565b7f436f756e7420697320616c726561647920300000000000000000000000000000600082015250565b6000610897601283610715565b91506108a282610861565b602082019050919050565b600060208201905081810360008301526108c68161088a565b9050919050565b60006108d882610619565b91506108e383610619565b92508282039050818111156108fb576108fa610792565b5b9291505056fea264697066735822122028d2b4927770a03c46dc75f87a19e7d6b8717918934c12dd8fd8147ea2d1e8e764736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x937 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x371303C0 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x78B52948 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0xA87D942C EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xBE65AB8C EQ PUSH2 0xAC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x632 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x24E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8C PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x632 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAA PUSH2 0x427 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC1 SWAP2 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP3 SWAP2 SWAP1 PUSH2 0x6EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1AE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A5 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x7C1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x31E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x315 SWAP1 PUSH2 0x841 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4ED SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD GT PUSH2 0x57A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x571 SWAP1 PUSH2 0x8AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5CC SWAP2 SWAP1 PUSH2 0x8CD JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x62C DUP2 PUSH2 0x619 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x647 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x623 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67D DUP3 PUSH2 0x652 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x68D DUP2 PUSH2 0x672 JUMP JUMPDEST DUP2 EQ PUSH2 0x698 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6AA DUP2 PUSH2 0x684 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C6 JUMPI PUSH2 0x6C5 PUSH2 0x64D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6D4 DUP5 DUP3 DUP6 ADD PUSH2 0x69B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6E6 DUP2 PUSH2 0x672 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x701 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x70E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x623 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75C PUSH1 0x9 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x767 DUP3 PUSH2 0x726 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x78B DUP2 PUSH2 0x74F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7CC DUP3 PUSH2 0x619 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D7 DUP4 PUSH2 0x619 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x7EF JUMPI PUSH2 0x7EE PUSH2 0x792 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x436F756E74657220616C72656164792065786973747300000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82B PUSH1 0x16 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x836 DUP3 PUSH2 0x7F5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x85A DUP2 PUSH2 0x81E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x436F756E7420697320616C726561647920300000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x897 PUSH1 0x12 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x8A2 DUP3 PUSH2 0x861 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8C6 DUP2 PUSH2 0x88A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D8 DUP3 PUSH2 0x619 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E3 DUP4 PUSH2 0x619 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x8FB JUMPI PUSH2 0x8FA PUSH2 0x792 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 0xD2 0xB4 SWAP3 PUSH24 0x70A03C46DC75F87A19E7D6B8717918934C12DD8FD8147EA2 0xD1 0xE8 0xE7 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "58:1358:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@counters_27": {
"entryPoint": 1493,
"id": 27,
"parameterSlots": 0,
"returnSlots": 0
},
"@createCounter_68": {
"entryPoint": 590,
"id": 68,
"parameterSlots": 0,
"returnSlots": 0
},
"@dec_115": {
"entryPoint": 1063,
"id": 115,
"parameterSlots": 0,
"returnSlots": 0
},
"@getCount_39": {
"entryPoint": 990,
"id": 39,
"parameterSlots": 0,
"returnSlots": 1
},
"@inc_90": {
"entryPoint": 221,
"id": 90,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1691,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1712,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1757,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2186,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1871,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2078,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1571,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1772,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2221,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1906,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2113,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1586,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1813,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1985,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2253,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1650,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1618,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1561,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1938,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1613,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff": {
"entryPoint": 2145,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682": {
"entryPoint": 1830,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111": {
"entryPoint": 2037,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1668,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5735:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "814:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "824:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "839:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "846:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "835:3:1"
},
"nodeType": "YulFunctionCall",
"src": "835:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "824:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "796:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "806:7:1",
"type": ""
}
],
"src": "769:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "946:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "956:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "985:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "967:17:1"
},
"nodeType": "YulFunctionCall",
"src": "967:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "956:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "928:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "938:7:1",
"type": ""
}
],
"src": "901:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1046:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1103:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1112:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1115:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1105:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1105:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1105:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1069:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1094:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1076:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1076:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1066:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1066:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1059:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1059:43:1"
},
"nodeType": "YulIf",
"src": "1056:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1039:5:1",
"type": ""
}
],
"src": "1003:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1183:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1193:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1215:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1202:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1202:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1193:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1258:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "1231:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1231:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1231:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1161:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1169:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1177:5:1",
"type": ""
}
],
"src": "1131:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1342:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1388:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1390:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1390:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1390:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1363:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1372:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1359:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1359:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1384:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1355:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1355:32:1"
},
"nodeType": "YulIf",
"src": "1352:119:1"
},
{
"nodeType": "YulBlock",
"src": "1481:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1496:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1500:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1525:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1560:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1571:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1556:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1556:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1580:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1535:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1535:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1525:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1312:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1323:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1335:6:1",
"type": ""
}
],
"src": "1276:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1676:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1716:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1698:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1698:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1686:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1686:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1664:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1671:3:1",
"type": ""
}
],
"src": "1611:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1861:206:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1871:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1883:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1894:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1879:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1871:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1951:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1964:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1975:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1960:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1960:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1907:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1907:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1907:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2032:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2045:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2056:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2041:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2041:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1988:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1988:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "1988:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1825:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1837:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1845:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1856:4:1",
"type": ""
}
],
"src": "1735:332:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2169:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2186:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2191:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2179:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2179:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2179:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2207:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2226:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2231:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2222:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2222:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2207:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2141:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2146:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2157:11:1",
"type": ""
}
],
"src": "2073:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2354:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2376:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2384:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2372:14:1"
},
{
"hexValue": "4e6f74206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "2388:11:1",
"type": "",
"value": "Not owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2365:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2365:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "2365:35:1"
}
]
},
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2346:6:1",
"type": ""
}
],
"src": "2248:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2559:219:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2569:73:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2635:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2640:1:1",
"type": "",
"value": "9"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2576:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2576:66:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2569:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2740:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulIdentifier",
"src": "2651:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2651:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2651:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2753:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2764:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2769:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2760:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2760:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2753:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2547:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2555:3:1",
"type": ""
}
],
"src": "2413:365:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2955:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2965:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2977:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2988:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2973:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2973:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2965:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3012:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3023:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3008:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3008:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3031:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3037:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3027:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3027:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3001:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3001:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3001:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3057:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3191:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3065:124:1"
},
"nodeType": "YulFunctionCall",
"src": "3065:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3057:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2935:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2950:4:1",
"type": ""
}
],
"src": "2784:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3237:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3254:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3257:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3247:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3247:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3351:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3354:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3344:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3344:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3344:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3375:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3378:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3368:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3368:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3368:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "3209:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3439:147:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3449:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3472:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3454:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3454:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3449:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3483:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3506:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3488:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3488:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3483:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3517:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3528:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "3531:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3524:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3524:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "3517:3:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3557:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "3559:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3559:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3559:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "3549:1:1"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "3552:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3546:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3546:10:1"
},
"nodeType": "YulIf",
"src": "3543:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "3426:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "3429:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "3435:3:1",
"type": ""
}
],
"src": "3395:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3698:66:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3720:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3728:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3716:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3716:14:1"
},
{
"hexValue": "436f756e74657220616c726561647920657869737473",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3732:24:1",
"type": "",
"value": "Counter already exists"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3709:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3709:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "3709:48:1"
}
]
},
"name": "store_literal_in_memory_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3690:6:1",
"type": ""
}
],
"src": "3592:172:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3916:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3926:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3992:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3997:2:1",
"type": "",
"value": "22"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3933:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3933:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3926:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4098:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111",
"nodeType": "YulIdentifier",
"src": "4009:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4009:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4009:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4111:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4122:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4127:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4118:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4111:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3904:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3912:3:1",
"type": ""
}
],
"src": "3770:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4313:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4323:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4335:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4346:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4331:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4331:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4323:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4370:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4381:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4366:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4366:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4389:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4395:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4385:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4385:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4359:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4359:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4359:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4415:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4549:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4423:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4423:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4415:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4293:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4308:4:1",
"type": ""
}
],
"src": "4142:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4673:62:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4695:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4703:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4691:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4691:14:1"
},
{
"hexValue": "436f756e7420697320616c72656164792030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4707:20:1",
"type": "",
"value": "Count is already 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4684:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4684:44:1"
},
"nodeType": "YulExpressionStatement",
"src": "4684:44:1"
}
]
},
"name": "store_literal_in_memory_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4665:6:1",
"type": ""
}
],
"src": "4567:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4887:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4897:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4963:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4968:2:1",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4904:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4904:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4897:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5069:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff",
"nodeType": "YulIdentifier",
"src": "4980:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4980:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4980:93:1"
},
{
"nodeType": "YulAssignment",
"src": "5082:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5093:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5098:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5089:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5089:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5082:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4875:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4883:3:1",
"type": ""
}
],
"src": "4741:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5284:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5294:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5306:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5317:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5302:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5302:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5294:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5341:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5352:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5337:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5360:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5366:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5356:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5356:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5330:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5330:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5330:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5386:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5520:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5394:124:1"
},
"nodeType": "YulFunctionCall",
"src": "5394:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5386:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5264:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5279:4:1",
"type": ""
}
],
"src": "5113:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5583:149:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5593:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5616:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5598:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5598:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5593:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5627:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5650:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5632:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5632:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5627:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5661:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5673:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5676:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5669:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5669:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "5661:4:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5703:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5705:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5705:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5705:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "5694:4:1"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5700:1:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5691:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5691:11:1"
},
"nodeType": "YulIf",
"src": "5688:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5569:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5572:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "5578:4:1",
"type": ""
}
],
"src": "5538:194:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(memPtr) {\n\n mstore(add(memPtr, 0), \"Not owner\")\n\n }\n\n function abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 9)\n store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111(memPtr) {\n\n mstore(add(memPtr, 0), \"Counter already exists\")\n\n }\n\n function abi_encode_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_cd39493d339db3b15f5eaaf5a35dc93187320d1e484e9aebd77cb9ab31a51111_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff(memPtr) {\n\n mstore(add(memPtr, 0), \"Count is already 0\")\n\n }\n\n function abi_encode_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_738b16d7da01475e14fd51a023c9856d964d96857f54c500b4d6536af0dbbbff_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c8063371303c01461005c57806378b529481461007a578063a87d942c14610084578063b3bcfa82146100a2578063be65ab8c146100ac575b600080fd5b6100646100dd565b6040516100719190610632565b60405180910390f35b61008261024e565b005b61008c6103de565b6040516100999190610632565b60405180910390f35b6100aa610427565b005b6100c660048036038101906100c191906106b0565b6105d5565b6040516100d49291906106ec565b60405180910390f35b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a590610772565b60405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825461020091906107c1565b925050819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b600073ffffffffffffffffffffffffffffffffffffffff166000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461031e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031590610841565b60405180910390fd5b60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ed90610772565b60405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541161057a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610571906108ad565b60405180910390fd5b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008282546105cc91906108cd565b92505081905550565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000819050919050565b61062c81610619565b82525050565b60006020820190506106476000830184610623565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061067d82610652565b9050919050565b61068d81610672565b811461069857600080fd5b50565b6000813590506106aa81610684565b92915050565b6000602082840312156106c6576106c561064d565b5b60006106d48482850161069b565b91505092915050565b6106e681610672565b82525050565b600060408201905061070160008301856106dd565b61070e6020830184610623565b9392505050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061075c600983610715565b915061076782610726565b602082019050919050565b6000602082019050818103600083015261078b8161074f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107cc82610619565b91506107d783610619565b92508282019050808211156107ef576107ee610792565b5b92915050565b7f436f756e74657220616c72656164792065786973747300000000000000000000600082015250565b600061082b601683610715565b9150610836826107f5565b602082019050919050565b6000602082019050818103600083015261085a8161081e565b9050919050565b7f436f756e7420697320616c726561647920300000000000000000000000000000600082015250565b6000610897601283610715565b91506108a282610861565b602082019050919050565b600060208201905081810360008301526108c68161088a565b9050919050565b60006108d882610619565b91506108e383610619565b92508282039050818111156108fb576108fa610792565b5b9291505056fea264697066735822122028d2b4927770a03c46dc75f87a19e7d6b8717918934c12dd8fd8147ea2d1e8e764736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x371303C0 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x78B52948 EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0xA87D942C EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0xB3BCFA82 EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xBE65AB8C EQ PUSH2 0xAC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0xDD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x632 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x82 PUSH2 0x24E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8C PUSH2 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x632 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xAA PUSH2 0x427 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC1 SWAP2 SWAP1 PUSH2 0x6B0 JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP3 SWAP2 SWAP1 PUSH2 0x6EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1AE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A5 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x200 SWAP2 SWAP1 PUSH2 0x7C1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x31E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x315 SWAP1 PUSH2 0x841 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x4F6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4ED SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD GT PUSH2 0x57A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x571 SWAP1 PUSH2 0x8AD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5CC SWAP2 SWAP1 PUSH2 0x8CD JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x62C DUP2 PUSH2 0x619 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x647 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x623 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67D DUP3 PUSH2 0x652 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x68D DUP2 PUSH2 0x672 JUMP JUMPDEST DUP2 EQ PUSH2 0x698 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6AA DUP2 PUSH2 0x684 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6C6 JUMPI PUSH2 0x6C5 PUSH2 0x64D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6D4 DUP5 DUP3 DUP6 ADD PUSH2 0x69B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6E6 DUP2 PUSH2 0x672 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x701 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x6DD JUMP JUMPDEST PUSH2 0x70E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x623 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x75C PUSH1 0x9 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x767 DUP3 PUSH2 0x726 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x78B DUP2 PUSH2 0x74F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7CC DUP3 PUSH2 0x619 JUMP JUMPDEST SWAP2 POP PUSH2 0x7D7 DUP4 PUSH2 0x619 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x7EF JUMPI PUSH2 0x7EE PUSH2 0x792 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x436F756E74657220616C72656164792065786973747300000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x82B PUSH1 0x16 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x836 DUP3 PUSH2 0x7F5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x85A DUP2 PUSH2 0x81E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x436F756E7420697320616C726561647920300000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x897 PUSH1 0x12 DUP4 PUSH2 0x715 JUMP JUMPDEST SWAP2 POP PUSH2 0x8A2 DUP3 PUSH2 0x861 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8C6 DUP2 PUSH2 0x88A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D8 DUP3 PUSH2 0x619 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E3 DUP4 PUSH2 0x619 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x8FB JUMPI PUSH2 0x8FA PUSH2 0x792 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x28 0xD2 0xB4 SWAP3 PUSH24 0x70A03C46DC75F87A19E7D6B8717918934C12DD8FD8147EA2 0xD1 0xE8 0xE7 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "58:1358:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;986:149;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;671:269;;;:::i;:::-;;529:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1181:233;;;:::i;:::-;;437:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;986:149;1036:7;209:8;:20;218:10;209:20;;;;;;;;;;;;;;;:25;;;;;;;;;;;;195:39;;:10;:39;;;187:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1084:1:::1;1054:8;:20:::0;1063:10:::1;1054:20;;;;;;;;;;;;;;;:26;;;:31;;;;;;;:::i;:::-;;;;;;;;1102:8;:20:::0;1111:10:::1;1102:20;;;;;;;;;;;;;;;:26;;;1095:33;;986:149:::0;:::o;671:269::-;816:1;779:39;;:8;:20;788:10;779:20;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;771:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;911:22;;;;;;;;919:10;911:22;;;;;;931:1;911:22;;;888:8;:20;897:10;888:20;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:269::o;529:100::-;570:7;596:8;:20;605:10;596:20;;;;;;;;;;;;;;;:26;;;589:33;;529:100;:::o;1181:233::-;209:8;:20;218:10;209:20;;;;;;;;;;;;;;;:25;;;;;;;;;;;;195:39;;:10;:39;;;187:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;1310:1:::1;1281:8:::0;:20:::1;1290:10;1281:20;;;;;;;;;;;;;;;:26;;;:30;1273:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;1406:1;1376:8;:20:::0;1385:10:::1;1376:20;;;;;;;;;;;;;;;:26;;;:31;;;;;;;:::i;:::-;;;;;;;;1181:233::o:0;437:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:332::-;1856:4;1894:2;1883:9;1879:18;1871:26;;1907:71;1975:1;1964:9;1960:17;1951:6;1907:71;:::i;:::-;1988:72;2056:2;2045:9;2041:18;2032:6;1988:72;:::i;:::-;1735:332;;;;;:::o;2073:169::-;2157:11;2191:6;2186:3;2179:19;2231:4;2226:3;2222:14;2207:29;;2073:169;;;;:::o;2248:159::-;2388:11;2384:1;2376:6;2372:14;2365:35;2248:159;:::o;2413:365::-;2555:3;2576:66;2640:1;2635:3;2576:66;:::i;:::-;2569:73;;2651:93;2740:3;2651:93;:::i;:::-;2769:2;2764:3;2760:12;2753:19;;2413:365;;;:::o;2784:419::-;2950:4;2988:2;2977:9;2973:18;2965:26;;3037:9;3031:4;3027:20;3023:1;3012:9;3008:17;3001:47;3065:131;3191:4;3065:131;:::i;:::-;3057:139;;2784:419;;;:::o;3209:180::-;3257:77;3254:1;3247:88;3354:4;3351:1;3344:15;3378:4;3375:1;3368:15;3395:191;3435:3;3454:20;3472:1;3454:20;:::i;:::-;3449:25;;3488:20;3506:1;3488:20;:::i;:::-;3483:25;;3531:1;3528;3524:9;3517:16;;3552:3;3549:1;3546:10;3543:36;;;3559:18;;:::i;:::-;3543:36;3395:191;;;;:::o;3592:172::-;3732:24;3728:1;3720:6;3716:14;3709:48;3592:172;:::o;3770:366::-;3912:3;3933:67;3997:2;3992:3;3933:67;:::i;:::-;3926:74;;4009:93;4098:3;4009:93;:::i;:::-;4127:2;4122:3;4118:12;4111:19;;3770:366;;;:::o;4142:419::-;4308:4;4346:2;4335:9;4331:18;4323:26;;4395:9;4389:4;4385:20;4381:1;4370:9;4366:17;4359:47;4423:131;4549:4;4423:131;:::i;:::-;4415:139;;4142:419;;;:::o;4567:168::-;4707:20;4703:1;4695:6;4691:14;4684:44;4567:168;:::o;4741:366::-;4883:3;4904:67;4968:2;4963:3;4904:67;:::i;:::-;4897:74;;4980:93;5069:3;4980:93;:::i;:::-;5098:2;5093:3;5089:12;5082:19;;4741:366;;;:::o;5113:419::-;5279:4;5317:2;5306:9;5302:18;5294:26;;5366:9;5360:4;5356:20;5352:1;5341:9;5337:17;5330:47;5394:131;5520:4;5394:131;:::i;:::-;5386:139;;5113:419;;;:::o;5538:194::-;5578:4;5598:20;5616:1;5598:20;:::i;:::-;5593:25;;5632:20;5650:1;5632:20;:::i;:::-;5627:25;;5676:1;5673;5669:9;5661:17;;5700:1;5694:4;5691:11;5688:37;;;5705:18;;:::i;:::-;5688:37;5538:194;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "471800",
"executionCost": "505",
"totalCost": "472305"
},
"external": {
"counters(address)": "infinite",
"createCounter()": "31876",
"dec()": "infinite",
"getCount()": "2554",
"inc()": "infinite"
}
},
"methodIdentifiers": {
"counters(address)": "be65ab8c",
"createCounter()": "78b52948",
"dec()": "b3bcfa82",
"getCount()": "a87d942c",
"inc()": "371303c0"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "counters",
"outputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "createCounter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "counters",
"outputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "createCounter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "dec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "inc",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/demo.sol": "Counter"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/demo.sol": {
"keccak256": "0xd26e49327973bcd6953b0847008b0f9be1e461bd3ecccb3e5685754b3ed01141",
"license": "MIT",
"urls": [
"bzz-raw://dbcb7dd221d9d5bbb38ab366717d73ebd6d4f947587db9c298d3e6f5f793eefc",
"dweb:/ipfs/QmSxNGnJQYiCPHS25FVz1nCw6cT52eE4gFiouZzy6BW1re"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610834806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632414f2f1146100515780634f0cd27b14610081578063771602f7146100b1578063d49d5181146100e1575b600080fd5b61006b6004803603810190610066919061056e565b6100ff565b60405161007891906105bd565b60405180910390f35b61009b600480360381019061009691906105d8565b6103ff565b6040516100a891906105bd565b60405180910390f35b6100cb60048036038101906100c69190610605565b6104ba565b6040516100d891906105bd565b60405180910390f35b6100e96104d0565b6040516100f691906105bd565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610170576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610167906106a2565b60405180910390fd5b600a8311156040518060400160405280601681526020017f4d6178696d756d2056616c756520457863656564656400000000000000000000815250906101ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e39190610741565b60405180910390fd5b5060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506103366000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154846104ba565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca784846040516103ac929190610772565b60405180910390a16000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610467906106a2565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b600081836104c891906107ca565b905092915050565b600a81565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610505826104da565b9050919050565b610515816104fa565b811461052057600080fd5b50565b6000813590506105328161050c565b92915050565b6000819050919050565b61054b81610538565b811461055657600080fd5b50565b60008135905061056881610542565b92915050565b60008060408385031215610585576105846104d5565b5b600061059385828601610523565b92505060206105a485828601610559565b9150509250929050565b6105b781610538565b82525050565b60006020820190506105d260008301846105ae565b92915050565b6000602082840312156105ee576105ed6104d5565b5b60006105fc84828501610523565b91505092915050565b6000806040838503121561061c5761061b6104d5565b5b600061062a85828601610559565b925050602061063b85828601610559565b9150509250929050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061068c600983610645565b915061069782610656565b602082019050919050565b600060208201905081810360008301526106bb8161067f565b9050919050565b600081519050919050565b60005b838110156106eb5780820151818401526020810190506106d0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610713826106c2565b61071d8185610645565b935061072d8185602086016106cd565b610736816106f7565b840191505092915050565b6000602082019050818103600083015261075b8184610708565b905092915050565b61076c816104fa565b82525050565b60006040820190506107876000830185610763565b61079460208301846105ae565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107d582610538565b91506107e083610538565b92508282019050808211156107f8576107f761079b565b5b9291505056fea264697066735822122013dcdda8a912f6624ba2973bd93401d8a42e5cf67e90b71d5d56e42eb5374c2b64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x834 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x56E JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x5D8 JUMP JUMPDEST PUSH2 0x3FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x4D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x167 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 GT ISZERO PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6178696D756D2056616C756520457863656564656400000000000000000000 DUP2 MSTORE POP SWAP1 PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x741 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x336 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x3AC SWAP3 SWAP2 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x470 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x467 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x4C8 SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x505 DUP3 PUSH2 0x4DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x515 DUP2 PUSH2 0x4FA JUMP JUMPDEST DUP2 EQ PUSH2 0x520 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x532 DUP2 PUSH2 0x50C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x54B DUP2 PUSH2 0x538 JUMP JUMPDEST DUP2 EQ PUSH2 0x556 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x568 DUP2 PUSH2 0x542 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x585 JUMPI PUSH2 0x584 PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x593 DUP6 DUP3 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5A4 DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x5B7 DUP2 PUSH2 0x538 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5D2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5AE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5EE JUMPI PUSH2 0x5ED PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5FC DUP5 DUP3 DUP6 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x61C JUMPI PUSH2 0x61B PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x62A DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x63B DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68C PUSH1 0x9 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP2 POP PUSH2 0x697 DUP3 PUSH2 0x656 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6BB DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x6EB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x713 DUP3 PUSH2 0x6C2 JUMP JUMPDEST PUSH2 0x71D DUP2 DUP6 PUSH2 0x645 JUMP JUMPDEST SWAP4 POP PUSH2 0x72D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x6CD JUMP JUMPDEST PUSH2 0x736 DUP2 PUSH2 0x6F7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x75B DUP2 DUP5 PUSH2 0x708 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x76C DUP2 PUSH2 0x4FA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x787 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x763 JUMP JUMPDEST PUSH2 0x794 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5AE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7D5 DUP3 PUSH2 0x538 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E0 DUP4 PUSH2 0x538 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x7F8 JUMPI PUSH2 0x7F7 PUSH2 0x79B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT 0xDC 0xDD 0xA8 0xA9 SLT 0xF6 PUSH3 0x4BA297 EXTCODESIZE 0xD9 CALLVALUE ADD 0xD8 LOG4 0x2E 0x5C 0xF6 PUSH31 0x90B71D5D56E42EB5374C2B64736F6C63430008120033000000000000000000 ",
"sourceMap": "87:1361:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MAX_46": {
"entryPoint": 1232,
"id": 46,
"parameterSlots": 0,
"returnSlots": 0
},
"@add_15": {
"entryPoint": 1210,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"@getCount_73": {
"entryPoint": 1023,
"id": 73,
"parameterSlots": 1,
"returnSlots": 1
},
"@increment_129": {
"entryPoint": 255,
"id": 129,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1315,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1369,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1496,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 1390,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 1541,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1891,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1800,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1663,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1454,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1906,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1857,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1698,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1469,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1730,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1994,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1274,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1242,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1336,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1741,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 1947,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1237,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1783,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682": {
"entryPoint": 1622,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1292,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1346,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5989:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:2"
},
"nodeType": "YulFunctionCall",
"src": "767:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:2"
},
"nodeType": "YulFunctionCall",
"src": "796:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:2",
"type": ""
}
],
"src": "696:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:2",
"type": ""
}
],
"src": "841:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:2"
},
"nodeType": "YulFunctionCall",
"src": "997:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:2"
},
"nodeType": "YulFunctionCall",
"src": "987:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:2"
},
"nodeType": "YulFunctionCall",
"src": "980:43:2"
},
"nodeType": "YulIf",
"src": "977:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:2",
"type": ""
}
],
"src": "924:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:2"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:2",
"type": ""
}
],
"src": "1052:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1280:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1326:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1328:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1328:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1328:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1301:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1310:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1297:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1297:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1322:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1293:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1293:32:2"
},
"nodeType": "YulIf",
"src": "1290:119:2"
},
{
"nodeType": "YulBlock",
"src": "1419:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1434:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1448:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1463:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1498:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1509:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1494:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1494:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1518:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1473:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1473:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1463:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1546:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1561:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1575:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1565:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1591:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1626:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1637:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1622:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1622:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1646:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1601:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1601:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1591:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1242:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1253:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1265:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1273:6:2",
"type": ""
}
],
"src": "1197:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1742:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1759:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1782:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1764:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1764:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1752:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1752:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1752:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1730:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1737:3:2",
"type": ""
}
],
"src": "1677:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1899:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1909:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1921:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1932:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1917:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1917:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1909:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1989:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2002:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2013:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1998:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1998:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1945:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1945:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1945:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1871:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1883:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1894:4:2",
"type": ""
}
],
"src": "1801:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2095:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2141:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2143:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2143:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2143:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2116:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2125:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2112:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2112:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2137:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2108:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2108:32:2"
},
"nodeType": "YulIf",
"src": "2105:119:2"
},
{
"nodeType": "YulBlock",
"src": "2234:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2249:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2263:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2253:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2278:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2313:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2324:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2309:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2309:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2333:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2288:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2288:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2278:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2065:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2076:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2088:6:2",
"type": ""
}
],
"src": "2029:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2447:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2493:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2495:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2495:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2495:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2468:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2477:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2464:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2464:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2489:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2460:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2460:32:2"
},
"nodeType": "YulIf",
"src": "2457:119:2"
},
{
"nodeType": "YulBlock",
"src": "2586:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2601:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2615:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2605:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2630:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2665:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2676:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2661:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2661:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2685:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2640:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2640:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2630:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2713:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2728:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2742:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2732:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2758:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2793:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2804:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2789:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2789:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2813:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2768:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2768:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2758:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2409:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2420:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2432:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2440:6:2",
"type": ""
}
],
"src": "2364:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2940:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2957:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2962:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2950:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2950:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "2950:19:2"
},
{
"nodeType": "YulAssignment",
"src": "2978:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2997:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3002:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2993:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2993:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2978:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2912:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2917:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2928:11:2",
"type": ""
}
],
"src": "2844:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3125:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3147:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3155:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3143:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3143:14:2"
},
{
"hexValue": "4e6f74206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3159:11:2",
"type": "",
"value": "Not owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3136:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3136:35:2"
},
"nodeType": "YulExpressionStatement",
"src": "3136:35:2"
}
]
},
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3117:6:2",
"type": ""
}
],
"src": "3019:159:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3330:219:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3340:73:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3406:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3411:1:2",
"type": "",
"value": "9"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3347:58:2"
},
"nodeType": "YulFunctionCall",
"src": "3347:66:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3340:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3511:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulIdentifier",
"src": "3422:88:2"
},
"nodeType": "YulFunctionCall",
"src": "3422:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "3422:93:2"
},
{
"nodeType": "YulAssignment",
"src": "3524:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3535:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3540:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3531:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3531:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3524:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3318:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3326:3:2",
"type": ""
}
],
"src": "3184:365:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3726:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3736:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3748:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3759:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3744:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3744:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3736:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3783:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3794:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3779:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3779:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3802:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3808:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3798:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3798:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3772:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3772:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "3772:47:2"
},
{
"nodeType": "YulAssignment",
"src": "3828:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3962:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3836:124:2"
},
"nodeType": "YulFunctionCall",
"src": "3836:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3828:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3706:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3721:4:2",
"type": ""
}
],
"src": "3555:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4039:40:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4050:22:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4066:5:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4060:5:2"
},
"nodeType": "YulFunctionCall",
"src": "4060:12:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4050:6:2"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4022:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4032:6:2",
"type": ""
}
],
"src": "3980:99:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4147:184:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4157:10:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4166:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4161:1:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4226:63:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4251:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4256:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4247:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4247:11:2"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4270:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4275:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4266:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4266:11:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4260:5:2"
},
"nodeType": "YulFunctionCall",
"src": "4260:18:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4240:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4240:39:2"
},
"nodeType": "YulExpressionStatement",
"src": "4240:39:2"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4187:1:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4190:6:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4184:2:2"
},
"nodeType": "YulFunctionCall",
"src": "4184:13:2"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4198:19:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4200:15:2",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4209:1:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4212:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4205:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4205:10:2"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4200:1:2"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4180:3:2",
"statements": []
},
"src": "4176:113:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4309:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4314:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4305:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4305:16:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4323:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4298:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4298:27:2"
},
"nodeType": "YulExpressionStatement",
"src": "4298:27:2"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "4129:3:2",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4134:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4139:6:2",
"type": ""
}
],
"src": "4085:246:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4385:54:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4395:38:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4413:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4420:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4409:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4409:14:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4429:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4425:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4425:7:2"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4405:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4405:28:2"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "4395:6:2"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4368:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "4378:6:2",
"type": ""
}
],
"src": "4337:102:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4537:285:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4547:53:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4594:5:2"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4561:32:2"
},
"nodeType": "YulFunctionCall",
"src": "4561:39:2"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4551:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4609:78:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4675:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4680:6:2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4616:58:2"
},
"nodeType": "YulFunctionCall",
"src": "4616:71:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4609:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4735:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4742:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4731:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4731:16:2"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4749:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4754:6:2"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "4696:34:2"
},
"nodeType": "YulFunctionCall",
"src": "4696:65:2"
},
"nodeType": "YulExpressionStatement",
"src": "4696:65:2"
},
{
"nodeType": "YulAssignment",
"src": "4770:46:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4781:3:2"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4808:6:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4786:21:2"
},
"nodeType": "YulFunctionCall",
"src": "4786:29:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4777:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4777:39:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4770:3:2"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4518:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4525:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4533:3:2",
"type": ""
}
],
"src": "4445:377:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4946:195:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4956:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4968:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4979:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4964:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4964:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4956:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5003:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5014:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4999:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4999:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5022:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5028:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5018:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5018:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4992:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4992:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "4992:47:2"
},
{
"nodeType": "YulAssignment",
"src": "5048:86:2",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5120:6:2"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5129:4:2"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5056:63:2"
},
"nodeType": "YulFunctionCall",
"src": "5056:78:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5048:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4918:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4930:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4941:4:2",
"type": ""
}
],
"src": "4828:313:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5212:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5229:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5252:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "5234:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5234:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5222:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5222:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "5222:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5200:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5207:3:2",
"type": ""
}
],
"src": "5147:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5397:206:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5407:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5419:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5430:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5415:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5415:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5407:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5487:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5500:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5511:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5496:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5496:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5443:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5443:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "5443:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5568:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5581:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5592:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5577:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5577:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5524:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5524:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "5524:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5361:9:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5373:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5381:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5392:4:2",
"type": ""
}
],
"src": "5271:332:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5637:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5654:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5657:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5647:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5647:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "5647:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5751:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5754:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5744:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5744:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "5744:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5775:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5778:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5768:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5768:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "5768:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5609:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5839:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5849:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5872:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5854:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5854:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5849:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5883:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5906:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5888:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5888:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5883:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5917:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5928:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5931:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5924:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5924:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "5917:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5957:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5959:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5959:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5959:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5949:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "5952:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5946:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5946:10:2"
},
"nodeType": "YulIf",
"src": "5943:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5826:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5829:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "5835:3:2",
"type": ""
}
],
"src": "5795:191:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(memPtr) {\n\n mstore(add(memPtr, 0), \"Not owner\")\n\n }\n\n function abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 9)\n store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80632414f2f1146100515780634f0cd27b14610081578063771602f7146100b1578063d49d5181146100e1575b600080fd5b61006b6004803603810190610066919061056e565b6100ff565b60405161007891906105bd565b60405180910390f35b61009b600480360381019061009691906105d8565b6103ff565b6040516100a891906105bd565b60405180910390f35b6100cb60048036038101906100c69190610605565b6104ba565b6040516100d891906105bd565b60405180910390f35b6100e96104d0565b6040516100f691906105bd565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610170576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610167906106a2565b60405180910390fd5b600a8311156040518060400160405280601681526020017f4d6178696d756d2056616c756520457863656564656400000000000000000000815250906101ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e39190610741565b60405180910390fd5b5060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506103366000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154846104ba565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca784846040516103ac929190610772565b60405180910390a16000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610467906106a2565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b600081836104c891906107ca565b905092915050565b600a81565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610505826104da565b9050919050565b610515816104fa565b811461052057600080fd5b50565b6000813590506105328161050c565b92915050565b6000819050919050565b61054b81610538565b811461055657600080fd5b50565b60008135905061056881610542565b92915050565b60008060408385031215610585576105846104d5565b5b600061059385828601610523565b92505060206105a485828601610559565b9150509250929050565b6105b781610538565b82525050565b60006020820190506105d260008301846105ae565b92915050565b6000602082840312156105ee576105ed6104d5565b5b60006105fc84828501610523565b91505092915050565b6000806040838503121561061c5761061b6104d5565b5b600061062a85828601610559565b925050602061063b85828601610559565b9150509250929050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061068c600983610645565b915061069782610656565b602082019050919050565b600060208201905081810360008301526106bb8161067f565b9050919050565b600081519050919050565b60005b838110156106eb5780820151818401526020810190506106d0565b60008484015250505050565b6000601f19601f8301169050919050565b6000610713826106c2565b61071d8185610645565b935061072d8185602086016106cd565b610736816106f7565b840191505092915050565b6000602082019050818103600083015261075b8184610708565b905092915050565b61076c816104fa565b82525050565b60006040820190506107876000830185610763565b61079460208301846105ae565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107d582610538565b91506107e083610538565b92508282019050808211156107f8576107f761079b565b5b9291505056fea264697066735822122013dcdda8a912f6624ba2973bd93401d8a42e5cf67e90b71d5d56e42eb5374c2b64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x56E JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x5D8 JUMP JUMPDEST PUSH2 0x3FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x4D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x167 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 GT ISZERO PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6178696D756D2056616C756520457863656564656400000000000000000000 DUP2 MSTORE POP SWAP1 PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x741 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x336 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x4BA JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x3AC SWAP3 SWAP2 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x470 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x467 SWAP1 PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x4C8 SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x505 DUP3 PUSH2 0x4DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x515 DUP2 PUSH2 0x4FA JUMP JUMPDEST DUP2 EQ PUSH2 0x520 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x532 DUP2 PUSH2 0x50C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x54B DUP2 PUSH2 0x538 JUMP JUMPDEST DUP2 EQ PUSH2 0x556 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x568 DUP2 PUSH2 0x542 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x585 JUMPI PUSH2 0x584 PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x593 DUP6 DUP3 DUP7 ADD PUSH2 0x523 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5A4 DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x5B7 DUP2 PUSH2 0x538 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5D2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5AE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5EE JUMPI PUSH2 0x5ED PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5FC DUP5 DUP3 DUP6 ADD PUSH2 0x523 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x61C JUMPI PUSH2 0x61B PUSH2 0x4D5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x62A DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x63B DUP6 DUP3 DUP7 ADD PUSH2 0x559 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68C PUSH1 0x9 DUP4 PUSH2 0x645 JUMP JUMPDEST SWAP2 POP PUSH2 0x697 DUP3 PUSH2 0x656 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x6BB DUP2 PUSH2 0x67F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x6EB JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x713 DUP3 PUSH2 0x6C2 JUMP JUMPDEST PUSH2 0x71D DUP2 DUP6 PUSH2 0x645 JUMP JUMPDEST SWAP4 POP PUSH2 0x72D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x6CD JUMP JUMPDEST PUSH2 0x736 DUP2 PUSH2 0x6F7 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x75B DUP2 DUP5 PUSH2 0x708 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x76C DUP2 PUSH2 0x4FA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x787 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x763 JUMP JUMPDEST PUSH2 0x794 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x5AE JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7D5 DUP3 PUSH2 0x538 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E0 DUP4 PUSH2 0x538 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x7F8 JUMPI PUSH2 0x7F7 PUSH2 0x79B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT 0xDC 0xDD 0xA8 0xA9 SLT 0xF6 PUSH3 0x4BA297 EXTCODESIZE 0xD9 CALLVALUE ADD 0xD8 LOG4 0x2E 0x5C 0xF6 PUSH31 0x90B71D5D56E42EB5374C2B64736F6C63430008120033000000000000000000 ",
"sourceMap": "87:1361:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1013:433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;792:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:98:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;475:32:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1013:433;1126:7;1103:4;277;263:18;;:10;:18;;;255:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;505:2:::1;1157:5;:10;;1169:9;;;;;;;;;;;;;;;;::::0;1149:30:::1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1206:35;;;;;;;;1214:4;1206:35;;;;;;1220:8;:14:::0;1229:4:::1;1220:14;;;;;;;;;;;;;;;:20;;;1206:35;;::::0;1189:8:::1;:14:::0;1198:4:::1;1189:14;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:83;1308:8;:14:::0;1317:4:::1;1308:14;;;;;;;;;;;;;;;:20;;;1342:5;1274:20;:83::i;:::-;1251:8;:14:::0;1260:4:::1;1251:14;;;;;;;;;;;;;;;:20;;:106;;;;1372:30;1390:4;1396:5;1372:30;;;;;;;:::i;:::-;;;;;;;;1419:8;:14:::0;1428:4:::1;1419:14;;;;;;;;;;;;;;;:20;;;1412:27;;1013:433:::0;;;;;:::o;792:167::-;902:7;879:4;277;263:18;;:10;:18;;;255:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;932:8:::1;:14:::0;941:4:::1;932:14;;;;;;;;;;;;;;;:20;;;925:27;;792:167:::0;;;;:::o;90:98:0:-;146:11;180:1;176;:5;;;;:::i;:::-;169:12;;90:98;;;;:::o;475:32:1:-;505:2;475:32;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:118::-;1764:24;1782:5;1764:24;:::i;:::-;1759:3;1752:37;1677:118;;:::o;1801:222::-;1894:4;1932:2;1921:9;1917:18;1909:26;;1945:71;2013:1;2002:9;1998:17;1989:6;1945:71;:::i;:::-;1801:222;;;;:::o;2029:329::-;2088:6;2137:2;2125:9;2116:7;2112:23;2108:32;2105:119;;;2143:79;;:::i;:::-;2105:119;2263:1;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2234:117;2029:329;;;;:::o;2364:474::-;2432:6;2440;2489:2;2477:9;2468:7;2464:23;2460:32;2457:119;;;2495:79;;:::i;:::-;2457:119;2615:1;2640:53;2685:7;2676:6;2665:9;2661:22;2640:53;:::i;:::-;2630:63;;2586:117;2742:2;2768:53;2813:7;2804:6;2793:9;2789:22;2768:53;:::i;:::-;2758:63;;2713:118;2364:474;;;;;:::o;2844:169::-;2928:11;2962:6;2957:3;2950:19;3002:4;2997:3;2993:14;2978:29;;2844:169;;;;:::o;3019:159::-;3159:11;3155:1;3147:6;3143:14;3136:35;3019:159;:::o;3184:365::-;3326:3;3347:66;3411:1;3406:3;3347:66;:::i;:::-;3340:73;;3422:93;3511:3;3422:93;:::i;:::-;3540:2;3535:3;3531:12;3524:19;;3184:365;;;:::o;3555:419::-;3721:4;3759:2;3748:9;3744:18;3736:26;;3808:9;3802:4;3798:20;3794:1;3783:9;3779:17;3772:47;3836:131;3962:4;3836:131;:::i;:::-;3828:139;;3555:419;;;:::o;3980:99::-;4032:6;4066:5;4060:12;4050:22;;3980:99;;;:::o;4085:246::-;4166:1;4176:113;4190:6;4187:1;4184:13;4176:113;;;4275:1;4270:3;4266:11;4260:18;4256:1;4251:3;4247:11;4240:39;4212:2;4209:1;4205:10;4200:15;;4176:113;;;4323:1;4314:6;4309:3;4305:16;4298:27;4147:184;4085:246;;;:::o;4337:102::-;4378:6;4429:2;4425:7;4420:2;4413:5;4409:14;4405:28;4395:38;;4337:102;;;:::o;4445:377::-;4533:3;4561:39;4594:5;4561:39;:::i;:::-;4616:71;4680:6;4675:3;4616:71;:::i;:::-;4609:78;;4696:65;4754:6;4749:3;4742:4;4735:5;4731:16;4696:65;:::i;:::-;4786:29;4808:6;4786:29;:::i;:::-;4781:3;4777:39;4770:46;;4537:285;4445:377;;;;:::o;4828:313::-;4941:4;4979:2;4968:9;4964:18;4956:26;;5028:9;5022:4;5018:20;5014:1;5003:9;4999:17;4992:47;5056:78;5129:4;5120:6;5056:78;:::i;:::-;5048:86;;4828:313;;;;:::o;5147:118::-;5234:24;5252:5;5234:24;:::i;:::-;5229:3;5222:37;5147:118;;:::o;5271:332::-;5392:4;5430:2;5419:9;5415:18;5407:26;;5443:71;5511:1;5500:9;5496:17;5487:6;5443:71;:::i;:::-;5524:72;5592:2;5581:9;5577:18;5568:6;5524:72;:::i;:::-;5271:332;;;;;:::o;5609:180::-;5657:77;5654:1;5647:88;5754:4;5751:1;5744:15;5778:4;5775:1;5768:15;5795:191;5835:3;5854:20;5872:1;5854:20;:::i;:::-;5849:25;;5888:20;5906:1;5888:20;:::i;:::-;5883:25;;5931:1;5928;5924:9;5917:16;;5952:3;5949:1;5946:10;5943:36;;;5959:18;;:::i;:::-;5943:36;5795:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "420000",
"executionCost": "455",
"totalCost": "420455"
},
"external": {
"MAX()": "373",
"add(uint256,uint256)": "infinite",
"getCount(address)": "2886",
"increment(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"MAX()": "d49d5181",
"add(uint256,uint256)": "771602f7",
"getCount(address)": "4f0cd27b",
"increment(address,uint256)": "2414f2f1"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "incrementExecuted",
"type": "event"
},
{
"inputs": [],
"name": "MAX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "increment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "incrementExecuted",
"type": "event"
},
{
"inputs": [],
"name": "MAX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "increment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/demo.sol": "CounterContract"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/add.sol": {
"keccak256": "0x5a40a41bd574a85edea219b694b1d533675ea467e2a7325d1f4af2ed6aeedafe",
"license": "MIT",
"urls": [
"bzz-raw://1d192d0b6b2eba8fda265237c295c6229c643f61b2a81a1c8224fb58e11fb0fa",
"dweb:/ipfs/QmXMyyMEszapG5ugt2uaPfYQeMZhLXmEQ5urMXQiWT4gPP"
]
},
"contracts/demo.sol": {
"keccak256": "0xec7c3993286ef9a759ff332d99b1fd6cb9bac4ae7f4bdd4af32045645d7a1a33",
"license": "MIT",
"urls": [
"bzz-raw://5533640d7f565515b7c8351a1608d6f1bcb5fbd12fa1db357bdfbcd5c9ce7c67",
"dweb:/ipfs/QmRdBS53VAfYPx8KuBKMiLuYcVn76J78U5wsfjZHnBZpFn"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506107c8806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632414f2f1146100515780634f0cd27b14610081578063771602f7146100b1578063d49d5181146100e1575b600080fd5b61006b60048036038101906100669190610549565b6100ff565b6040516100789190610598565b60405180910390f35b61009b600480360381019061009691906105b3565b6103da565b6040516100a89190610598565b60405180910390f35b6100cb60048036038101906100c691906105e0565b610495565b6040516100d89190610598565b60405180910390f35b6100e96104ab565b6040516100f69190610598565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101679061067d565b60405180910390fd5b600a83106101b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101aa9061070f565b60405180910390fd5b60405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506102fc6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015484610495565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508373ffffffffffffffffffffffffffffffffffffffff167ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca7846040516103879190610598565b60405180910390a26000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104429061067d565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b600081836104a3919061075e565b905092915050565b600a81565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104e0826104b5565b9050919050565b6104f0816104d5565b81146104fb57600080fd5b50565b60008135905061050d816104e7565b92915050565b6000819050919050565b61052681610513565b811461053157600080fd5b50565b6000813590506105438161051d565b92915050565b600080604083850312156105605761055f6104b0565b5b600061056e858286016104fe565b925050602061057f85828601610534565b9150509250929050565b61059281610513565b82525050565b60006020820190506105ad6000830184610589565b92915050565b6000602082840312156105c9576105c86104b0565b5b60006105d7848285016104fe565b91505092915050565b600080604083850312156105f7576105f66104b0565b5b600061060585828601610534565b925050602061061685828601610534565b9150509250929050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f742074686520636f756e746572206f776e657200600082015250565b6000610667601f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b7f56616c756520657863656564732074686520616c6c6f776564206d6178696d7560008201527f6d00000000000000000000000000000000000000000000000000000000000000602082015250565b60006106f9602183610620565b91506107048261069d565b604082019050919050565b60006020820190508181036000830152610728816106ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061076982610513565b915061077483610513565b925082820190508082111561078c5761078b61072f565b5b9291505056fea26469706673582212200c637fd0d473fdd564e06124e74bc4ecb7f85392bfe9d7ad4be1d95e948f27b264736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7C8 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x549 JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x5B3 JUMP JUMPDEST PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x5E0 JUMP JUMPDEST PUSH2 0x495 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x4AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x167 SWAP1 PUSH2 0x67D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x1B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AA SWAP1 PUSH2 0x70F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x2FC PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x495 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 PUSH1 0x40 MLOAD PUSH2 0x387 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x44B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x442 SWAP1 PUSH2 0x67D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x4A3 SWAP2 SWAP1 PUSH2 0x75E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E0 DUP3 PUSH2 0x4B5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4F0 DUP2 PUSH2 0x4D5 JUMP JUMPDEST DUP2 EQ PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x50D DUP2 PUSH2 0x4E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x526 DUP2 PUSH2 0x513 JUMP JUMPDEST DUP2 EQ PUSH2 0x531 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x543 DUP2 PUSH2 0x51D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x560 JUMPI PUSH2 0x55F PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x56E DUP6 DUP3 DUP7 ADD PUSH2 0x4FE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x57F DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x592 DUP2 PUSH2 0x513 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5AD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x589 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C9 JUMPI PUSH2 0x5C8 PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5D7 DUP5 DUP3 DUP6 ADD PUSH2 0x4FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5F7 JUMPI PUSH2 0x5F6 PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x605 DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x616 DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F742074686520636F756E746572206F776E657200 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x667 PUSH1 0x1F DUP4 PUSH2 0x620 JUMP JUMPDEST SWAP2 POP PUSH2 0x672 DUP3 PUSH2 0x631 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x696 DUP2 PUSH2 0x65A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x56616C756520657863656564732074686520616C6C6F776564206D6178696D75 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F9 PUSH1 0x21 DUP4 PUSH2 0x620 JUMP JUMPDEST SWAP2 POP PUSH2 0x704 DUP3 PUSH2 0x69D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x728 DUP2 PUSH2 0x6EC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x769 DUP3 PUSH2 0x513 JUMP JUMPDEST SWAP2 POP PUSH2 0x774 DUP4 PUSH2 0x513 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x72F JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC PUSH4 0x7FD0D473 REVERT 0xD5 PUSH5 0xE06124E74B 0xC4 0xEC 0xB7 0xF8 MSTORE8 SWAP3 0xBF 0xE9 0xD7 0xAD 0x4B 0xE1 0xD9 0x5E SWAP5 DUP16 0x27 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "281:2189:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MAX_25": {
"entryPoint": 1195,
"id": 25,
"parameterSlots": 0,
"returnSlots": 0
},
"@add_15": {
"entryPoint": 1173,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"@getCount_129": {
"entryPoint": 986,
"id": 129,
"parameterSlots": 1,
"returnSlots": 1
},
"@increment_112": {
"entryPoint": 255,
"id": 112,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1278,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1332,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1459,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 1353,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 1504,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1772,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1626,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1417,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1807,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1661,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1432,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1568,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1886,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1237,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1205,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1299,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1839,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1200,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be": {
"entryPoint": 1693,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0": {
"entryPoint": 1585,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1255,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1309,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5406:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:2"
},
"nodeType": "YulFunctionCall",
"src": "767:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:2"
},
"nodeType": "YulFunctionCall",
"src": "796:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:2",
"type": ""
}
],
"src": "696:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:2",
"type": ""
}
],
"src": "841:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:2"
},
"nodeType": "YulFunctionCall",
"src": "997:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:2"
},
"nodeType": "YulFunctionCall",
"src": "987:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:2"
},
"nodeType": "YulFunctionCall",
"src": "980:43:2"
},
"nodeType": "YulIf",
"src": "977:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:2",
"type": ""
}
],
"src": "924:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:2"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:2",
"type": ""
}
],
"src": "1052:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1280:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1326:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1328:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1328:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1328:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1301:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1310:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1297:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1297:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1322:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1293:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1293:32:2"
},
"nodeType": "YulIf",
"src": "1290:119:2"
},
{
"nodeType": "YulBlock",
"src": "1419:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1434:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1448:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1463:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1498:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1509:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1494:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1494:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1518:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1473:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1473:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1463:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1546:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1561:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1575:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1565:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1591:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1626:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1637:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1622:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1622:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1646:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1601:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1601:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1591:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1242:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1253:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1265:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1273:6:2",
"type": ""
}
],
"src": "1197:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1742:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1759:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1782:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1764:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1764:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1752:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1752:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1752:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1730:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1737:3:2",
"type": ""
}
],
"src": "1677:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1899:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1909:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1921:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1932:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1917:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1917:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1909:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1989:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2002:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2013:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1998:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1998:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1945:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1945:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1945:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1871:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1883:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1894:4:2",
"type": ""
}
],
"src": "1801:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2095:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2141:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2143:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2143:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2143:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2116:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2125:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2112:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2112:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2137:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2108:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2108:32:2"
},
"nodeType": "YulIf",
"src": "2105:119:2"
},
{
"nodeType": "YulBlock",
"src": "2234:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2249:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2263:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2253:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2278:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2313:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2324:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2309:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2309:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2333:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2288:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2288:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2278:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2065:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2076:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2088:6:2",
"type": ""
}
],
"src": "2029:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2447:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2493:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2495:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2495:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2495:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2468:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2477:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2464:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2464:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2489:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2460:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2460:32:2"
},
"nodeType": "YulIf",
"src": "2457:119:2"
},
{
"nodeType": "YulBlock",
"src": "2586:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2601:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2615:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2605:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2630:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2665:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2676:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2661:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2661:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2685:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2640:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2640:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2630:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2713:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2728:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2742:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2732:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2758:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2793:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2804:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2789:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2789:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2813:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2768:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2768:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2758:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2409:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2420:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2432:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2440:6:2",
"type": ""
}
],
"src": "2364:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2940:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2957:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2962:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2950:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2950:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "2950:19:2"
},
{
"nodeType": "YulAssignment",
"src": "2978:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2997:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3002:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2993:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2993:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2978:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2912:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2917:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2928:11:2",
"type": ""
}
],
"src": "2844:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3125:75:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3147:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3155:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3143:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3143:14:2"
},
{
"hexValue": "43616c6c6572206973206e6f742074686520636f756e746572206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3159:33:2",
"type": "",
"value": "Caller is not the counter owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3136:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3136:57:2"
},
"nodeType": "YulExpressionStatement",
"src": "3136:57:2"
}
]
},
"name": "store_literal_in_memory_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3117:6:2",
"type": ""
}
],
"src": "3019:181:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3352:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3362:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3428:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3433:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3369:58:2"
},
"nodeType": "YulFunctionCall",
"src": "3369:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3362:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3534:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0",
"nodeType": "YulIdentifier",
"src": "3445:88:2"
},
"nodeType": "YulFunctionCall",
"src": "3445:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "3445:93:2"
},
{
"nodeType": "YulAssignment",
"src": "3547:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3558:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3563:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3554:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3554:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3547:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3340:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3348:3:2",
"type": ""
}
],
"src": "3206:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3749:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3759:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3771:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3782:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3767:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3767:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3759:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3806:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3817:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3802:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3802:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3825:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3831:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3821:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3821:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3795:6:2"
},
"nodeType": "YulFunctionCall",
"src": "3795:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "3795:47:2"
},
{
"nodeType": "YulAssignment",
"src": "3851:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3985:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3859:124:2"
},
"nodeType": "YulFunctionCall",
"src": "3859:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3851:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3729:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3744:4:2",
"type": ""
}
],
"src": "3578:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4109:114:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4131:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4139:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4127:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4127:14:2"
},
{
"hexValue": "56616c756520657863656564732074686520616c6c6f776564206d6178696d75",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4143:34:2",
"type": "",
"value": "Value exceeds the allowed maximu"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4120:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4120:58:2"
},
"nodeType": "YulExpressionStatement",
"src": "4120:58:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4199:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4207:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4195:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4195:15:2"
},
{
"hexValue": "6d",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4212:3:2",
"type": "",
"value": "m"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4188:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4188:28:2"
},
"nodeType": "YulExpressionStatement",
"src": "4188:28:2"
}
]
},
"name": "store_literal_in_memory_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4101:6:2",
"type": ""
}
],
"src": "4003:220:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4375:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4385:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4451:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4456:2:2",
"type": "",
"value": "33"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4392:58:2"
},
"nodeType": "YulFunctionCall",
"src": "4392:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4385:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4557:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be",
"nodeType": "YulIdentifier",
"src": "4468:88:2"
},
"nodeType": "YulFunctionCall",
"src": "4468:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "4468:93:2"
},
{
"nodeType": "YulAssignment",
"src": "4570:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4581:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4586:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4577:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4577:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4570:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4363:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4371:3:2",
"type": ""
}
],
"src": "4229:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4772:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4782:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4794:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4805:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4790:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4790:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4782:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4829:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4840:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4825:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4825:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4848:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4854:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4844:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4844:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4818:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4818:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "4818:47:2"
},
{
"nodeType": "YulAssignment",
"src": "4874:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5008:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4882:124:2"
},
"nodeType": "YulFunctionCall",
"src": "4882:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4874:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4752:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4767:4:2",
"type": ""
}
],
"src": "4601:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5054:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5071:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5074:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5064:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5064:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "5064:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5168:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5171:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5161:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5161:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "5161:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5192:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5195:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5185:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5185:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "5185:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5026:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5256:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5266:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5289:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5271:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5271:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5266:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5300:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5323:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5305:17:2"
},
"nodeType": "YulFunctionCall",
"src": "5305:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5300:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5334:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5345:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "5348:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5341:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5341:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "5334:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5374:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5376:16:2"
},
"nodeType": "YulFunctionCall",
"src": "5376:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "5376:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "5366:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "5369:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5363:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5363:10:2"
},
"nodeType": "YulIf",
"src": "5360:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "5243:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "5246:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "5252:3:2",
"type": ""
}
],
"src": "5212:191:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not the counter owner\")\n\n }\n\n function abi_encode_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_bf4ed80278d970736505e16e8677fd8ee18e23909a73507f20793942fe11a4f0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be(memPtr) {\n\n mstore(add(memPtr, 0), \"Value exceeds the allowed maximu\")\n\n mstore(add(memPtr, 32), \"m\")\n\n }\n\n function abi_encode_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a0c8b9b19da5e8eaba865291d0aebffbdd4a5d5d9b4d7b1c1a84bc981ca2c3be_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80632414f2f1146100515780634f0cd27b14610081578063771602f7146100b1578063d49d5181146100e1575b600080fd5b61006b60048036038101906100669190610549565b6100ff565b6040516100789190610598565b60405180910390f35b61009b600480360381019061009691906105b3565b6103da565b6040516100a89190610598565b60405180910390f35b6100cb60048036038101906100c691906105e0565b610495565b6040516100d89190610598565b60405180910390f35b6100e96104ab565b6040516100f69190610598565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101679061067d565b60405180910390fd5b600a83106101b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101aa9061070f565b60405180910390fd5b60405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506102fc6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015484610495565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508373ffffffffffffffffffffffffffffffffffffffff167ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca7846040516103879190610598565b60405180910390a26000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461044b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104429061067d565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b600081836104a3919061075e565b905092915050565b600a81565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104e0826104b5565b9050919050565b6104f0816104d5565b81146104fb57600080fd5b50565b60008135905061050d816104e7565b92915050565b6000819050919050565b61052681610513565b811461053157600080fd5b50565b6000813590506105438161051d565b92915050565b600080604083850312156105605761055f6104b0565b5b600061056e858286016104fe565b925050602061057f85828601610534565b9150509250929050565b61059281610513565b82525050565b60006020820190506105ad6000830184610589565b92915050565b6000602082840312156105c9576105c86104b0565b5b60006105d7848285016104fe565b91505092915050565b600080604083850312156105f7576105f66104b0565b5b600061060585828601610534565b925050602061061685828601610534565b9150509250929050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f742074686520636f756e746572206f776e657200600082015250565b6000610667601f83610620565b915061067282610631565b602082019050919050565b600060208201905081810360008301526106968161065a565b9050919050565b7f56616c756520657863656564732074686520616c6c6f776564206d6178696d7560008201527f6d00000000000000000000000000000000000000000000000000000000000000602082015250565b60006106f9602183610620565b91506107048261069d565b604082019050919050565b60006020820190508181036000830152610728816106ec565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061076982610513565b915061077483610513565b925082820190508082111561078c5761078b61072f565b5b9291505056fea26469706673582212200c637fd0d473fdd564e06124e74bc4ecb7f85392bfe9d7ad4be1d95e948f27b264736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x549 JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x5B3 JUMP JUMPDEST PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x5E0 JUMP JUMPDEST PUSH2 0x495 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE9 PUSH2 0x4AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x167 SWAP1 PUSH2 0x67D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x1B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AA SWAP1 PUSH2 0x70F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x2FC PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x495 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 PUSH1 0x40 MLOAD PUSH2 0x387 SWAP2 SWAP1 PUSH2 0x598 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x44B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x442 SWAP1 PUSH2 0x67D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x4A3 SWAP2 SWAP1 PUSH2 0x75E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E0 DUP3 PUSH2 0x4B5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4F0 DUP2 PUSH2 0x4D5 JUMP JUMPDEST DUP2 EQ PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x50D DUP2 PUSH2 0x4E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x526 DUP2 PUSH2 0x513 JUMP JUMPDEST DUP2 EQ PUSH2 0x531 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x543 DUP2 PUSH2 0x51D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x560 JUMPI PUSH2 0x55F PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x56E DUP6 DUP3 DUP7 ADD PUSH2 0x4FE JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x57F DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x592 DUP2 PUSH2 0x513 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x5AD PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x589 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C9 JUMPI PUSH2 0x5C8 PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5D7 DUP5 DUP3 DUP6 ADD PUSH2 0x4FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5F7 JUMPI PUSH2 0x5F6 PUSH2 0x4B0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x605 DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x616 DUP6 DUP3 DUP7 ADD PUSH2 0x534 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616C6C6572206973206E6F742074686520636F756E746572206F776E657200 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x667 PUSH1 0x1F DUP4 PUSH2 0x620 JUMP JUMPDEST SWAP2 POP PUSH2 0x672 DUP3 PUSH2 0x631 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x696 DUP2 PUSH2 0x65A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x56616C756520657863656564732074686520616C6C6F776564206D6178696D75 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6D00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6F9 PUSH1 0x21 DUP4 PUSH2 0x620 JUMP JUMPDEST SWAP2 POP PUSH2 0x704 DUP3 PUSH2 0x69D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x728 DUP2 PUSH2 0x6EC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x769 DUP3 PUSH2 0x513 JUMP JUMPDEST SWAP2 POP PUSH2 0x774 DUP4 PUSH2 0x513 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x78C JUMPI PUSH2 0x78B PUSH2 0x72F JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC PUSH4 0x7FD0D473 REVERT 0xD5 PUSH5 0xE06124E74B 0xC4 0xEC 0xB7 0xF8 MSTORE8 SWAP3 0xBF 0xE9 0xD7 0xAD 0x4B 0xE1 0xD9 0x5E SWAP5 DUP16 0x27 0xB2 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "281:2189:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1428:603;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2301:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:98:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;396:32:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1428:603;1541:7;1518:4;996;982:18;;:10;:18;;;961:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;426:2:::1;1585:5;:11;1564:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;1683:35;;;;;;;;1691:4;1683:35;;;;;;1697:8;:14:::0;1706:4:::1;1697:14;;;;;;;;;;;;;;;:20;;;1683:35;;::::0;1666:8:::1;:14:::0;1675:4:::1;1666:14;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1790:83;1824:8;:14:::0;1833:4:::1;1824:14;;;;;;;;;;;;;;;:20;;;1858:5;1790:20;:83::i;:::-;1767:8;:14:::0;1776:4:::1;1767:14;;;;;;;;;;;;;;;:20;;:106;;;;1942:4;1924:30;;;1948:5;1924:30;;;;;;:::i;:::-;;;;;;;;2004:8;:14:::0;2013:4:::1;2004:14;;;;;;;;;;;;;;;:20;;;1997:27;;1428:603:::0;;;;;:::o;2301:167::-;2411:7;2388:4;996;982:18;;:10;:18;;;961:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;2441:8:::1;:14:::0;2450:4:::1;2441:14;;;;;;;;;;;;;;;:20;;;2434:27;;2301:167:::0;;;;:::o;90:98:0:-;146:11;180:1;176;:5;;;;:::i;:::-;169:12;;90:98;;;;:::o;396:32:1:-;426:2;396:32;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:118::-;1764:24;1782:5;1764:24;:::i;:::-;1759:3;1752:37;1677:118;;:::o;1801:222::-;1894:4;1932:2;1921:9;1917:18;1909:26;;1945:71;2013:1;2002:9;1998:17;1989:6;1945:71;:::i;:::-;1801:222;;;;:::o;2029:329::-;2088:6;2137:2;2125:9;2116:7;2112:23;2108:32;2105:119;;;2143:79;;:::i;:::-;2105:119;2263:1;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2234:117;2029:329;;;;:::o;2364:474::-;2432:6;2440;2489:2;2477:9;2468:7;2464:23;2460:32;2457:119;;;2495:79;;:::i;:::-;2457:119;2615:1;2640:53;2685:7;2676:6;2665:9;2661:22;2640:53;:::i;:::-;2630:63;;2586:117;2742:2;2768:53;2813:7;2804:6;2793:9;2789:22;2768:53;:::i;:::-;2758:63;;2713:118;2364:474;;;;;:::o;2844:169::-;2928:11;2962:6;2957:3;2950:19;3002:4;2997:3;2993:14;2978:29;;2844:169;;;;:::o;3019:181::-;3159:33;3155:1;3147:6;3143:14;3136:57;3019:181;:::o;3206:366::-;3348:3;3369:67;3433:2;3428:3;3369:67;:::i;:::-;3362:74;;3445:93;3534:3;3445:93;:::i;:::-;3563:2;3558:3;3554:12;3547:19;;3206:366;;;:::o;3578:419::-;3744:4;3782:2;3771:9;3767:18;3759:26;;3831:9;3825:4;3821:20;3817:1;3806:9;3802:17;3795:47;3859:131;3985:4;3859:131;:::i;:::-;3851:139;;3578:419;;;:::o;4003:220::-;4143:34;4139:1;4131:6;4127:14;4120:58;4212:3;4207:2;4199:6;4195:15;4188:28;4003:220;:::o;4229:366::-;4371:3;4392:67;4456:2;4451:3;4392:67;:::i;:::-;4385:74;;4468:93;4557:3;4468:93;:::i;:::-;4586:2;4581:3;4577:12;4570:19;;4229:366;;;:::o;4601:419::-;4767:4;4805:2;4794:9;4790:18;4782:26;;4854:9;4848:4;4844:20;4840:1;4829:9;4825:17;4818:47;4882:131;5008:4;4882:131;:::i;:::-;4874:139;;4601:419;;;:::o;5026:180::-;5074:77;5071:1;5064:88;5171:4;5168:1;5161:15;5195:4;5192:1;5185:15;5212:191;5252:3;5271:20;5289:1;5271:20;:::i;:::-;5266:25;;5305:20;5323:1;5305:20;:::i;:::-;5300:25;;5348:1;5345;5341:9;5334:16;;5369:3;5366:1;5363:10;5360:36;;;5376:18;;:::i;:::-;5360:36;5212:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "398400",
"executionCost": "436",
"totalCost": "398836"
},
"external": {
"MAX()": "373",
"add(uint256,uint256)": "infinite",
"getCount(address)": "2886",
"increment(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"MAX()": "d49d5181",
"add(uint256,uint256)": "771602f7",
"getCount(address)": "4f0cd27b",
"increment(address,uint256)": "2414f2f1"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "incrementExecuted",
"type": "event"
},
{
"inputs": [],
"name": "MAX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "increment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "incrementExecuted",
"type": "event"
},
{
"inputs": [],
"name": "MAX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "increment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"getCount(address)": {
"details": "Makes use of the onlyOwnerOfCounter modifier to ensure privacy.",
"params": {
"user": "The Ethereum address of the user."
},
"returns": {
"_0": "The current value of the user's counter."
}
},
"increment(address,uint256)": {
"details": "Ensures the increment does not exceed the MAX limit and the caller is the owner.",
"params": {
"user": "The Ethereum address of the user.",
"value": "The amount to be added to the counter."
},
"returns": {
"_0": "The updated counter value after the increment."
}
}
},
"title": "SafeCounter Contract",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"getCount(address)": {
"notice": "Retrieve the current value of a user's counter."
},
"increment(address,uint256)": {
"notice": "Increment a user's counter by a specified value."
}
},
"notice": "This contract allows users to safely increment a counter up to a set maximum. It also inherits functionality from the AdditionContract.",
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/SafeCounter.sol": "SafeCounter"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/AdditionContract.sol": {
"keccak256": "0x5a40a41bd574a85edea219b694b1d533675ea467e2a7325d1f4af2ed6aeedafe",
"license": "MIT",
"urls": [
"bzz-raw://1d192d0b6b2eba8fda265237c295c6229c643f61b2a81a1c8224fb58e11fb0fa",
"dweb:/ipfs/QmXMyyMEszapG5ugt2uaPfYQeMZhLXmEQ5urMXQiWT4gPP"
]
},
"contracts/SafeCounter.sol": {
"keccak256": "0x475c5005f2ba8be8066f78713d802fbaf720cc34326d868ae20d6aa7fd10f708",
"license": "MIT",
"urls": [
"bzz-raw://87ca67ead70fb866295b14f29cb96c03eadbe0fa012f4a2094692f7303485715",
"dweb:/ipfs/QmY6L7YjAGVuZcaY6cG4hcMKTyLtQ7Xock75vGHwvCo4uo"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_10": {
"entryPoint": null,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610273806100606000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634e59ff561461004657806386be3f80146100645780638da5cb5b14610094575b600080fd5b61004e6100b2565b60405161005b919061013f565b60405180910390f35b61007e6004803603810190610079919061018b565b6100b8565b60405161008b919061013f565b60405180910390f35b61009c610102565b6040516100a991906101f9565b60405180910390f35b60015481565b6000816001819055507fa19423f11b081e2a3c9256cd3f362d7d87328c6771429469891173ef91dd5bcf33836040516100f2929190610214565b60405180910390a1819050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b61013981610126565b82525050565b60006020820190506101546000830184610130565b92915050565b600080fd5b61016881610126565b811461017357600080fd5b50565b6000813590506101858161015f565b92915050565b6000602082840312156101a1576101a061015a565b5b60006101af84828501610176565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101e3826101b8565b9050919050565b6101f3816101d8565b82525050565b600060208201905061020e60008301846101ea565b92915050565b600060408201905061022960008301856101ea565b6102366020830184610130565b939250505056fea2646970667358221220a52ba1ac4131219bec6a11eedd8f8296e49700b8c67bf17e141459ee41c58e5b64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x273 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E59FF56 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x86BE3F80 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x18B JUMP JUMPDEST PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x1F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xA19423F11B081E2A3C9256CD3F362D7D87328C6771429469891173EF91DD5BCF CALLER DUP4 PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP3 SWAP2 SWAP1 PUSH2 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x139 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x154 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x168 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x185 DUP2 PUSH2 0x15F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x15A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF DUP5 DUP3 DUP6 ADD PUSH2 0x176 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3 DUP3 PUSH2 0x1B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F3 DUP2 PUSH2 0x1D8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1EA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x229 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0x236 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 0x2B LOG1 0xAC COINBASE BALANCE 0x21 SWAP12 0xEC PUSH11 0x11EEDD8F8296E49700B8C6 PUSH28 0xF17E141459EE41C58E5B64736F6C6343000812003300000000000000 ",
"sourceMap": "57:476:0:-:0;;;84:49;;;;;;;;;;116:10;108:5;;:18;;;;;;;;;;;;;;;;;;57:476;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@myVariable_14": {
"entryPoint": 178,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_12": {
"entryPoint": 258,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
},
"@setVariable_51": {
"entryPoint": 184,
"id": 51,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 374,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 395,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 490,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 304,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 505,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 532,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 319,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 472,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 440,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 294,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 346,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 351,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2298:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1422:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1432:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1447:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1454:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1443:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1443:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1432:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1404:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1414:7:1",
"type": ""
}
],
"src": "1377:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1554:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1564:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1593:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1575:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1575:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1564:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1536:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1546:7:1",
"type": ""
}
],
"src": "1509:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1676:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1716:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1698:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1698:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1686:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1686:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1664:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1671:3:1",
"type": ""
}
],
"src": "1611:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1833:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1843:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1855:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1866:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1851:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1843:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1923:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1936:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1947:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1932:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1932:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1879:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1879:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1879:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1805:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1817:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1828:4:1",
"type": ""
}
],
"src": "1735:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2089:206:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2099:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2111:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2122:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2107:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2107:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2099:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2179:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2192:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2203:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2188:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2188:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2135:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2135:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2135:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2260:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2273:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2284:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2269:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2269:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2216:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2216:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "2216:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2053:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2065:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2073:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2084:4:1",
"type": ""
}
],
"src": "1963:332:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80634e59ff561461004657806386be3f80146100645780638da5cb5b14610094575b600080fd5b61004e6100b2565b60405161005b919061013f565b60405180910390f35b61007e6004803603810190610079919061018b565b6100b8565b60405161008b919061013f565b60405180910390f35b61009c610102565b6040516100a991906101f9565b60405180910390f35b60015481565b6000816001819055507fa19423f11b081e2a3c9256cd3f362d7d87328c6771429469891173ef91dd5bcf33836040516100f2929190610214565b60405180910390a1819050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000819050919050565b61013981610126565b82525050565b60006020820190506101546000830184610130565b92915050565b600080fd5b61016881610126565b811461017357600080fd5b50565b6000813590506101858161015f565b92915050565b6000602082840312156101a1576101a061015a565b5b60006101af84828501610176565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101e3826101b8565b9050919050565b6101f3816101d8565b82525050565b600060208201905061020e60008301846101ea565b92915050565b600060408201905061022960008301856101ea565b6102366020830184610130565b939250505056fea2646970667358221220a52ba1ac4131219bec6a11eedd8f8296e49700b8c67bf17e141459ee41c58e5b64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E59FF56 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x86BE3F80 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x94 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x18B JUMP JUMPDEST PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8B SWAP2 SWAP1 PUSH2 0x13F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9C PUSH2 0x102 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x1F9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH32 0xA19423F11B081E2A3C9256CD3F362D7D87328C6771429469891173EF91DD5BCF CALLER DUP4 PUSH1 0x40 MLOAD PUSH2 0xF2 SWAP3 SWAP2 SWAP1 PUSH2 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x139 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x154 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x168 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x185 DUP2 PUSH2 0x15F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x15A JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF DUP5 DUP3 DUP6 ADD PUSH2 0x176 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E3 DUP3 PUSH2 0x1B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F3 DUP2 PUSH2 0x1D8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x20E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1EA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x229 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0x236 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x130 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 0x2B LOG1 0xAC COINBASE BALANCE 0x21 SWAP12 0xEC PUSH11 0x11EEDD8F8296E49700B8C6 PUSH28 0xF17E141459EE41C58E5B64736F6C6343000812003300000000000000 ",
"sourceMap": "57:476:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;169:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;344:187;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;143:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;169:25;;;;:::o;344:187::-;402:7;434:11;421:10;:24;;;;460:36;472:10;484:11;460:36;;;;;;;:::i;:::-;;;;;;;;513:11;506:18;;344:187;;;:::o;143:20::-;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:96::-;1546:7;1575:24;1593:5;1575:24;:::i;:::-;1564:35;;1509:96;;;:::o;1611:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:222::-;1828:4;1866:2;1855:9;1851:18;1843:26;;1879:71;1947:1;1936:9;1932:17;1923:6;1879:71;:::i;:::-;1735:222;;;;:::o;1963:332::-;2084:4;2122:2;2111:9;2107:18;2099:26;;2135:71;2203:1;2192:9;2188:17;2179:6;2135:71;:::i;:::-;2216:72;2284:2;2273:9;2269:18;2260:6;2216:72;:::i;:::-;1963:332;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "125400",
"executionCost": "24437",
"totalCost": "149837"
},
"external": {
"myVariable()": "2407",
"owner()": "2533",
"setVariable(uint256)": "infinite"
}
},
"methodIdentifiers": {
"myVariable()": "4e59ff56",
"owner()": "8da5cb5b",
"setVariable(uint256)": "86be3f80"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "setter",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newVariable",
"type": "uint256"
}
],
"name": "variableSet",
"type": "event"
},
{
"inputs": [],
"name": "myVariable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newVariable",
"type": "uint256"
}
],
"name": "setVariable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "setter",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newVariable",
"type": "uint256"
}
],
"name": "variableSet",
"type": "event"
},
{
"inputs": [],
"name": "myVariable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newVariable",
"type": "uint256"
}
],
"name": "setVariable",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/demo.sol": "SetVariable"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/demo.sol": {
"keccak256": "0xad43188297fa0c4b649628e538a9ff52e160ab4c723d286d10bc6423f050023f",
"license": "MIT",
"urls": [
"bzz-raw://0fbc9d300d7ee6ae30c736a591f6f5f2028e66ce1b6b6dae27d2cd644941ceac",
"dweb:/ipfs/QmdGD5aVenFLBaUwCZxYMny2ukkm3iA6FNAkc6B6jtWXNf"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
import "./AdditionContract.sol";
pragma solidity ^0.8.17;
/**
* @title SafeCounter Contract
* @notice This contract allows users to safely increment a counter up to a set maximum.
* It also inherits functionality from the AdditionContract.
*/
contract SafeCounter is AdditionContract {
// State variable to store the maximum allowed increment value.
uint256 public constant MAX = 10;
// Struct to represent a user's counter and their address.
struct Counter {
address user;
uint256 count;
}
// Mapping associating each user's address with their respective Counter.
mapping(address => Counter) private counters;
// Event that logs when a counter is incremented.
event incrementExecuted(address indexed user, uint256 value);
// Modifier ensuring only the respective owner can access and modify their counter.
modifier onlyOwnerOfCounter(address user) {
require(
msg.sender == user,
"Caller is not the counter owner"
);
_;
}
/**
* @notice Increment a user's counter by a specified value.
* @dev Ensures the increment does not exceed the MAX limit and the caller is the owner.
* @param user The Ethereum address of the user.
* @param value The amount to be added to the counter.
* @return The updated counter value after the increment.
*/
function increment(address user, uint256 value)
public
onlyOwnerOfCounter(user)
returns (uint256)
{
require(
value < MAX,
"Value exceeds the allowed maximum"
);
counters[user] = Counter(user, counters[user].count); // Resetting the user's counter struct
counters[user].count = AdditionContract.add(
counters[user].count,
value
); // Using inherited addition method
emit incrementExecuted(user, value); // Emitting the increment event
return counters[user].count;
}
/**
* @notice Retrieve the current value of a user's counter.
* @dev Makes use of the onlyOwnerOfCounter modifier to ensure privacy.
* @param user The Ethereum address of the user.
* @return The current value of the user's counter.
*/
function getCount(address user)
public
view
onlyOwnerOfCounter(user)
returns (uint256)
{
return counters[user].count;
}
}
This file has been truncated, but you can view the full file.
{
"id": "324d289a0f341ed7e1b78e7f074d0fed",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contracts/demo.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\nimport \"contracts/add.sol\";\n\ncontract SafeCounter is AdditionContract {\n // The modifier to restrict access to the owner of a counter\n modifier onlyOwnerOfCounter(address user) {\n require(msg.sender == user, \"Not owner\");\n _;\n }\n\n // The counter struct\n struct Counter {\n address user;\n uint256 count;\n }\n\n struct HistoryLog {\n address caller;\n uint256 lastChecked;\n }\n\n string constant ERROR_MSG = \"Maximum Value Exceeded\";\n uint256 public constant MAX = 10;\n\n // A mapping that stores a Counter for each Ethereum address\n mapping(address => Counter) private counters;\n\n // An Event that is emitted when the count is incremented\n event incrementExecuted(address user, uint256 value);\n\n // Function to get the current count\n function getCount(\n address user\n ) public view onlyOwnerOfCounter(user) returns (uint256) {\n return counters[user].count;\n }\n\n // Function to increment count by the value\n function increment(\n address user,\n uint256 value\n ) public onlyOwnerOfCounter(user) returns (uint256) {\n require(value <= MAX, ERROR_MSG);\n counters[user] = Counter(user, counters[user].count);\n counters[user].count = AdditionContract.add(\n counters[user].count,\n value\n );\n emit incrementExecuted(user, value);\n return counters[user].count;\n }\n\n function checkLogs(address user) public view returns (HistoryLog memory) {\n return HistoryLog(msg.sender, counters[user].count);\n }\n}\n"
},
"contracts/add.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.17;\n\ncontract AdditionContract {\n function add(uint256 a, uint256 b) public pure returns (uint256 sum) {\n return a + b;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/add.sol": {
"AdditionContract": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/add.sol\":58:190 contract AdditionContract {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/add.sol\":58:190 contract AdditionContract {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x771602f7\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/add.sol\":90:188 function add(uint256 a, uint256 b) public pure returns (uint256 sum) {... */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_7:\n /* \"contracts/add.sol\":146:157 uint256 sum */\n 0x00\n /* \"contracts/add.sol\":180:181 b */\n dup2\n /* \"contracts/add.sol\":176:177 a */\n dup4\n /* \"contracts/add.sol\":176:181 a + b */\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n /* \"contracts/add.sol\":169:181 return a + b */\n swap1\n pop\n /* \"contracts/add.sol\":90:188 function add(uint256 a, uint256 b) public pure returns (uint256 sum) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_14:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_16:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_17:\n /* \"#utility.yul\":490:514 */\n tag_27\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_16\n jump\t// in\n tag_27:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_28\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_28:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_18:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_30\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_17\n jump\t// in\n tag_30:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1164 */\n tag_6:\n /* \"#utility.yul\":758:764 */\n 0x00\n /* \"#utility.yul\":766:772 */\n dup1\n /* \"#utility.yul\":815:817 */\n 0x40\n /* \"#utility.yul\":803:812 */\n dup4\n /* \"#utility.yul\":794:801 */\n dup6\n /* \"#utility.yul\":790:813 */\n sub\n /* \"#utility.yul\":786:818 */\n slt\n /* \"#utility.yul\":783:902 */\n iszero\n tag_32\n jumpi\n /* \"#utility.yul\":821:900 */\n tag_33\n tag_14\n jump\t// in\n tag_33:\n /* \"#utility.yul\":783:902 */\n tag_32:\n /* \"#utility.yul\":941:942 */\n 0x00\n /* \"#utility.yul\":966:1019 */\n tag_34\n /* \"#utility.yul\":1011:1018 */\n dup6\n /* \"#utility.yul\":1002:1008 */\n dup3\n /* \"#utility.yul\":991:1000 */\n dup7\n /* \"#utility.yul\":987:1009 */\n add\n /* \"#utility.yul\":966:1019 */\n tag_18\n jump\t// in\n tag_34:\n /* \"#utility.yul\":956:1019 */\n swap3\n pop\n /* \"#utility.yul\":912:1029 */\n pop\n /* \"#utility.yul\":1068:1070 */\n 0x20\n /* \"#utility.yul\":1094:1147 */\n tag_35\n /* \"#utility.yul\":1139:1146 */\n dup6\n /* \"#utility.yul\":1130:1136 */\n dup3\n /* \"#utility.yul\":1119:1128 */\n dup7\n /* \"#utility.yul\":1115:1137 */\n add\n /* \"#utility.yul\":1094:1147 */\n tag_18\n jump\t// in\n tag_35:\n /* \"#utility.yul\":1084:1147 */\n swap2\n pop\n /* \"#utility.yul\":1039:1157 */\n pop\n /* \"#utility.yul\":690:1164 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1170:1288 */\n tag_19:\n /* \"#utility.yul\":1257:1281 */\n tag_37\n /* \"#utility.yul\":1275:1280 */\n dup2\n /* \"#utility.yul\":1257:1281 */\n tag_16\n jump\t// in\n tag_37:\n /* \"#utility.yul\":1252:1255 */\n dup3\n /* \"#utility.yul\":1245:1282 */\n mstore\n /* \"#utility.yul\":1170:1288 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1294:1516 */\n tag_9:\n /* \"#utility.yul\":1387:1391 */\n 0x00\n /* \"#utility.yul\":1425:1427 */\n 0x20\n /* \"#utility.yul\":1414:1423 */\n dup3\n /* \"#utility.yul\":1410:1428 */\n add\n /* \"#utility.yul\":1402:1428 */\n swap1\n pop\n /* \"#utility.yul\":1438:1509 */\n tag_39\n /* \"#utility.yul\":1506:1507 */\n 0x00\n /* \"#utility.yul\":1495:1504 */\n dup4\n /* \"#utility.yul\":1491:1508 */\n add\n /* \"#utility.yul\":1482:1488 */\n dup5\n /* \"#utility.yul\":1438:1509 */\n tag_19\n jump\t// in\n tag_39:\n /* \"#utility.yul\":1294:1516 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1522:1702 */\n tag_20:\n /* \"#utility.yul\":1570:1647 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1567:1568 */\n 0x00\n /* \"#utility.yul\":1560:1648 */\n mstore\n /* \"#utility.yul\":1667:1671 */\n 0x11\n /* \"#utility.yul\":1664:1665 */\n 0x04\n /* \"#utility.yul\":1657:1672 */\n mstore\n /* \"#utility.yul\":1691:1695 */\n 0x24\n /* \"#utility.yul\":1688:1689 */\n 0x00\n /* \"#utility.yul\":1681:1696 */\n revert\n /* \"#utility.yul\":1708:1899 */\n tag_12:\n /* \"#utility.yul\":1748:1751 */\n 0x00\n /* \"#utility.yul\":1767:1787 */\n tag_42\n /* \"#utility.yul\":1785:1786 */\n dup3\n /* \"#utility.yul\":1767:1787 */\n tag_16\n jump\t// in\n tag_42:\n /* \"#utility.yul\":1762:1787 */\n swap2\n pop\n /* \"#utility.yul\":1801:1821 */\n tag_43\n /* \"#utility.yul\":1819:1820 */\n dup4\n /* \"#utility.yul\":1801:1821 */\n tag_16\n jump\t// in\n tag_43:\n /* \"#utility.yul\":1796:1821 */\n swap3\n pop\n /* \"#utility.yul\":1844:1845 */\n dup3\n /* \"#utility.yul\":1841:1842 */\n dup3\n /* \"#utility.yul\":1837:1846 */\n add\n /* \"#utility.yul\":1830:1846 */\n swap1\n pop\n /* \"#utility.yul\":1865:1868 */\n dup1\n /* \"#utility.yul\":1862:1863 */\n dup3\n /* \"#utility.yul\":1859:1869 */\n gt\n /* \"#utility.yul\":1856:1892 */\n iszero\n tag_44\n jumpi\n /* \"#utility.yul\":1872:1890 */\n tag_45\n tag_20\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1856:1892 */\n tag_44:\n /* \"#utility.yul\":1708:1899 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212205f8ca5fc0aa167b97dff63bb01c071271485a97d7218d3c75eedb7c6c370f39c64736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506101b4806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063771602f714610030575b600080fd5b61004a600480360381019061004591906100b1565b610060565b6040516100579190610100565b60405180910390f35b6000818361006e919061014a565b905092915050565b600080fd5b6000819050919050565b61008e8161007b565b811461009957600080fd5b50565b6000813590506100ab81610085565b92915050565b600080604083850312156100c8576100c7610076565b5b60006100d68582860161009c565b92505060206100e78582860161009c565b9150509250929050565b6100fa8161007b565b82525050565b600060208201905061011560008301846100f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006101558261007b565b91506101608361007b565b92508282019050808211156101785761017761011b565b5b9291505056fea26469706673582212205f8ca5fc0aa167b97dff63bb01c071271485a97d7218d3c75eedb7c6c370f39c64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B4 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xB1 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x14A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8E DUP2 PUSH2 0x7B JUMP JUMPDEST DUP2 EQ PUSH2 0x99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAB DUP2 PUSH2 0x85 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH2 0xC7 PUSH2 0x76 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE7 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFA DUP2 PUSH2 0x7B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x115 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x155 DUP3 PUSH2 0x7B JUMP JUMPDEST SWAP2 POP PUSH2 0x160 DUP4 PUSH2 0x7B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x11B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5F DUP13 0xA5 0xFC EXP LOG1 PUSH8 0xB97DFF63BB01C071 0x27 EQ DUP6 0xA9 PUSH30 0x7218D3C75EEDB7C6C370F39C64736F6C6343000812003300000000000000 ",
"sourceMap": "58:132:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_15": {
"entryPoint": 96,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 156,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 177,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 241,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 330,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 123,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 283,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 118,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 133,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1902:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:2"
},
"nodeType": "YulFunctionCall",
"src": "519:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:2"
},
"nodeType": "YulFunctionCall",
"src": "490:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:2"
},
"nodeType": "YulFunctionCall",
"src": "480:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:2"
},
"nodeType": "YulFunctionCall",
"src": "473:43:2"
},
"nodeType": "YulIf",
"src": "470:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:2",
"type": ""
}
],
"src": "417:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:2"
},
"nodeType": "YulFunctionCall",
"src": "616:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:2"
},
"nodeType": "YulFunctionCall",
"src": "645:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:2",
"type": ""
}
],
"src": "545:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "773:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "819:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "821:77:2"
},
"nodeType": "YulFunctionCall",
"src": "821:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "821:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "794:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "803:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "790:3:2"
},
"nodeType": "YulFunctionCall",
"src": "790:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "815:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "786:3:2"
},
"nodeType": "YulFunctionCall",
"src": "786:32:2"
},
"nodeType": "YulIf",
"src": "783:119:2"
},
{
"nodeType": "YulBlock",
"src": "912:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "927:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "941:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "931:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "956:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "991:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1002:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "987:3:2"
},
"nodeType": "YulFunctionCall",
"src": "987:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1011:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "966:20:2"
},
"nodeType": "YulFunctionCall",
"src": "966:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "956:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1039:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1054:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1068:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1058:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1084:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1119:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1130:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1115:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1115:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1139:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1094:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1094:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1084:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "735:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "746:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "758:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "766:6:2",
"type": ""
}
],
"src": "690:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1235:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1252:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1275:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1257:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1257:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1245:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1245:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1245:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1223:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1230:3:2",
"type": ""
}
],
"src": "1170:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1392:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1402:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1414:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1425:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1410:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1410:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1402:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1482:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1495:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1506:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1491:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1491:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1438:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1438:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1438:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1364:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1376:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1387:4:2",
"type": ""
}
],
"src": "1294:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1550:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1567:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1570:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1560:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1560:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "1560:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1664:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1667:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1657:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1657:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "1657:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1688:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1691:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1681:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1681:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "1681:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "1522:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1752:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1762:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1785:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1767:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1767:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1762:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1796:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1819:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1801:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1801:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1796:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1830:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1841:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1844:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1837:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1837:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1830:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1870:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1872:16:2"
},
"nodeType": "YulFunctionCall",
"src": "1872:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "1872:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1862:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1865:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1859:2:2"
},
"nodeType": "YulFunctionCall",
"src": "1859:10:2"
},
"nodeType": "YulIf",
"src": "1856:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1739:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1742:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1748:3:2",
"type": ""
}
],
"src": "1708:191:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063771602f714610030575b600080fd5b61004a600480360381019061004591906100b1565b610060565b6040516100579190610100565b60405180910390f35b6000818361006e919061014a565b905092915050565b600080fd5b6000819050919050565b61008e8161007b565b811461009957600080fd5b50565b6000813590506100ab81610085565b92915050565b600080604083850312156100c8576100c7610076565b5b60006100d68582860161009c565b92505060206100e78582860161009c565b9150509250929050565b6100fa8161007b565b82525050565b600060208201905061011560008301846100f1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006101558261007b565b91506101608361007b565b92508282019050808211156101785761017761011b565b5b9291505056fea26469706673582212205f8ca5fc0aa167b97dff63bb01c071271485a97d7218d3c75eedb7c6c370f39c64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xB1 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x14A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x8E DUP2 PUSH2 0x7B JUMP JUMPDEST DUP2 EQ PUSH2 0x99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAB DUP2 PUSH2 0x85 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC8 JUMPI PUSH2 0xC7 PUSH2 0x76 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD6 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xE7 DUP6 DUP3 DUP7 ADD PUSH2 0x9C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xFA DUP2 PUSH2 0x7B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x115 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x155 DUP3 PUSH2 0x7B JUMP JUMPDEST SWAP2 POP PUSH2 0x160 DUP4 PUSH2 0x7B JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x11B JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5F DUP13 0xA5 0xFC EXP LOG1 PUSH8 0xB97DFF63BB01C071 0x27 EQ DUP6 0xA9 PUSH30 0x7218D3C75EEDB7C6C370F39C64736F6C6343000812003300000000000000 ",
"sourceMap": "58:132:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:98;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;146:11;180:1;176;:5;;;;:::i;:::-;169:12;;90:98;;;;:::o;88:117:2:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:118::-;1257:24;1275:5;1257:24;:::i;:::-;1252:3;1245:37;1170:118;;:::o;1294:222::-;1387:4;1425:2;1414:9;1410:18;1402:26;;1438:71;1506:1;1495:9;1491:17;1482:6;1438:71;:::i;:::-;1294:222;;;;:::o;1522:180::-;1570:77;1567:1;1560:88;1667:4;1664:1;1657:15;1691:4;1688:1;1681:15;1708:191;1748:3;1767:20;1785:1;1767:20;:::i;:::-;1762:25;;1801:20;1819:1;1801:20;:::i;:::-;1796:25;;1844:1;1841;1837:9;1830:16;;1865:3;1862:1;1859:10;1856:36;;;1872:18;;:::i;:::-;1856:36;1708:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "87200",
"executionCost": "135",
"totalCost": "87335"
},
"external": {
"add(uint256,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 190,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 190,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 190,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212205f8ca5fc0aa167b97dff63bb01c071271485a97d7218d3c75eedb7c6c370f39c64736f6c63430008120033",
".code": [
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 190,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 190,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 190,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 190,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "LT",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 190,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 58,
"end": 190,
"name": "SHR",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "771602F7"
},
{
"begin": 58,
"end": 190,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 58,
"end": 190,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 190,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 190,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 190,
"name": "REVERT",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "ADD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "RETURN",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 146,
"end": 157,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 180,
"end": 181,
"name": "DUP2",
"source": 0
},
{
"begin": 176,
"end": 177,
"name": "DUP4",
"source": 0
},
{
"begin": 176,
"end": 181,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 176,
"end": 181,
"name": "SWAP2",
"source": 0
},
{
"begin": 176,
"end": 181,
"name": "SWAP1",
"source": 0
},
{
"begin": 176,
"end": 181,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 176,
"end": 181,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 176,
"end": 181,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 176,
"end": 181,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 169,
"end": 181,
"name": "SWAP1",
"source": 0
},
{
"begin": 169,
"end": 181,
"name": "POP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP3",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "POP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "POP",
"source": 0
},
{
"begin": 90,
"end": 188,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 2,
"value": "14"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 2
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 2
},
{
"begin": 334,
"end": 411,
"name": "tag",
"source": 2,
"value": "16"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 2
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 2
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 2
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 2
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 2,
"value": "17"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 2,
"value": "27"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 2
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 2,
"value": "27"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 2
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 2
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 2,
"value": "28"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 2
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 2
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 2
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 2,
"value": "28"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 2
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 2,
"value": "18"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 2
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 2
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 2
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 2,
"value": "30"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 2
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 2,
"value": "17"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 2,
"value": "30"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 2
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 2
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 2
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 2
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "tag",
"source": 2,
"value": "6"
},
{
"begin": 690,
"end": 1164,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 758,
"end": 764,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 766,
"end": 772,
"name": "DUP1",
"source": 2
},
{
"begin": 815,
"end": 817,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 803,
"end": 812,
"name": "DUP4",
"source": 2
},
{
"begin": 794,
"end": 801,
"name": "DUP6",
"source": 2
},
{
"begin": 790,
"end": 813,
"name": "SUB",
"source": 2
},
{
"begin": 786,
"end": 818,
"name": "SLT",
"source": 2
},
{
"begin": 783,
"end": 902,
"name": "ISZERO",
"source": 2
},
{
"begin": 783,
"end": 902,
"name": "PUSH [tag]",
"source": 2,
"value": "32"
},
{
"begin": 783,
"end": 902,
"name": "JUMPI",
"source": 2
},
{
"begin": 821,
"end": 900,
"name": "PUSH [tag]",
"source": 2,
"value": "33"
},
{
"begin": 821,
"end": 900,
"name": "PUSH [tag]",
"source": 2,
"value": "14"
},
{
"begin": 821,
"end": 900,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 821,
"end": 900,
"name": "tag",
"source": 2,
"value": "33"
},
{
"begin": 821,
"end": 900,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 783,
"end": 902,
"name": "tag",
"source": 2,
"value": "32"
},
{
"begin": 783,
"end": 902,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 941,
"end": 942,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 966,
"end": 1019,
"name": "PUSH [tag]",
"source": 2,
"value": "34"
},
{
"begin": 1011,
"end": 1018,
"name": "DUP6",
"source": 2
},
{
"begin": 1002,
"end": 1008,
"name": "DUP3",
"source": 2
},
{
"begin": 991,
"end": 1000,
"name": "DUP7",
"source": 2
},
{
"begin": 987,
"end": 1009,
"name": "ADD",
"source": 2
},
{
"begin": 966,
"end": 1019,
"name": "PUSH [tag]",
"source": 2,
"value": "18"
},
{
"begin": 966,
"end": 1019,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 966,
"end": 1019,
"name": "tag",
"source": 2,
"value": "34"
},
{
"begin": 966,
"end": 1019,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 956,
"end": 1019,
"name": "SWAP3",
"source": 2
},
{
"begin": 956,
"end": 1019,
"name": "POP",
"source": 2
},
{
"begin": 912,
"end": 1029,
"name": "POP",
"source": 2
},
{
"begin": 1068,
"end": 1070,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 1094,
"end": 1147,
"name": "PUSH [tag]",
"source": 2,
"value": "35"
},
{
"begin": 1139,
"end": 1146,
"name": "DUP6",
"source": 2
},
{
"begin": 1130,
"end": 1136,
"name": "DUP3",
"source": 2
},
{
"begin": 1119,
"end": 1128,
"name": "DUP7",
"source": 2
},
{
"begin": 1115,
"end": 1137,
"name": "ADD",
"source": 2
},
{
"begin": 1094,
"end": 1147,
"name": "PUSH [tag]",
"source": 2,
"value": "18"
},
{
"begin": 1094,
"end": 1147,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1094,
"end": 1147,
"name": "tag",
"source": 2,
"value": "35"
},
{
"begin": 1094,
"end": 1147,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1084,
"end": 1147,
"name": "SWAP2",
"source": 2
},
{
"begin": 1084,
"end": 1147,
"name": "POP",
"source": 2
},
{
"begin": 1039,
"end": 1157,
"name": "POP",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "SWAP3",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "POP",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "SWAP3",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "SWAP1",
"source": 2
},
{
"begin": 690,
"end": 1164,
"name": "POP",
"source": 2
},
{
"begin": 690,
"end": 1164,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1170,
"end": 1288,
"name": "tag",
"source": 2,
"value": "19"
},
{
"begin": 1170,
"end": 1288,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1257,
"end": 1281,
"name": "PUSH [tag]",
"source": 2,
"value": "37"
},
{
"begin": 1275,
"end": 1280,
"name": "DUP2",
"source": 2
},
{
"begin": 1257,
"end": 1281,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 1257,
"end": 1281,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1257,
"end": 1281,
"name": "tag",
"source": 2,
"value": "37"
},
{
"begin": 1257,
"end": 1281,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1252,
"end": 1255,
"name": "DUP3",
"source": 2
},
{
"begin": 1245,
"end": 1282,
"name": "MSTORE",
"source": 2
},
{
"begin": 1170,
"end": 1288,
"name": "POP",
"source": 2
},
{
"begin": 1170,
"end": 1288,
"name": "POP",
"source": 2
},
{
"begin": 1170,
"end": 1288,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"name": "tag",
"source": 2,
"value": "9"
},
{
"begin": 1294,
"end": 1516,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1387,
"end": 1391,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1425,
"end": 1427,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 1414,
"end": 1423,
"name": "DUP3",
"source": 2
},
{
"begin": 1410,
"end": 1428,
"name": "ADD",
"source": 2
},
{
"begin": 1402,
"end": 1428,
"name": "SWAP1",
"source": 2
},
{
"begin": 1402,
"end": 1428,
"name": "POP",
"source": 2
},
{
"begin": 1438,
"end": 1509,
"name": "PUSH [tag]",
"source": 2,
"value": "39"
},
{
"begin": 1506,
"end": 1507,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1495,
"end": 1504,
"name": "DUP4",
"source": 2
},
{
"begin": 1491,
"end": 1508,
"name": "ADD",
"source": 2
},
{
"begin": 1482,
"end": 1488,
"name": "DUP5",
"source": 2
},
{
"begin": 1438,
"end": 1509,
"name": "PUSH [tag]",
"source": 2,
"value": "19"
},
{
"begin": 1438,
"end": 1509,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1438,
"end": 1509,
"name": "tag",
"source": 2,
"value": "39"
},
{
"begin": 1438,
"end": 1509,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"name": "SWAP3",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"name": "SWAP2",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"name": "POP",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"name": "POP",
"source": 2
},
{
"begin": 1294,
"end": 1516,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1522,
"end": 1702,
"name": "tag",
"source": 2,
"value": "20"
},
{
"begin": 1522,
"end": 1702,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1570,
"end": 1647,
"name": "PUSH",
"source": 2,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1567,
"end": 1568,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1560,
"end": 1648,
"name": "MSTORE",
"source": 2
},
{
"begin": 1667,
"end": 1671,
"name": "PUSH",
"source": 2,
"value": "11"
},
{
"begin": 1664,
"end": 1665,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 1657,
"end": 1672,
"name": "MSTORE",
"source": 2
},
{
"begin": 1691,
"end": 1695,
"name": "PUSH",
"source": 2,
"value": "24"
},
{
"begin": 1688,
"end": 1689,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1681,
"end": 1696,
"name": "REVERT",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"name": "tag",
"source": 2,
"value": "12"
},
{
"begin": 1708,
"end": 1899,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1748,
"end": 1751,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1767,
"end": 1787,
"name": "PUSH [tag]",
"source": 2,
"value": "42"
},
{
"begin": 1785,
"end": 1786,
"name": "DUP3",
"source": 2
},
{
"begin": 1767,
"end": 1787,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 1767,
"end": 1787,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1767,
"end": 1787,
"name": "tag",
"source": 2,
"value": "42"
},
{
"begin": 1767,
"end": 1787,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1762,
"end": 1787,
"name": "SWAP2",
"source": 2
},
{
"begin": 1762,
"end": 1787,
"name": "POP",
"source": 2
},
{
"begin": 1801,
"end": 1821,
"name": "PUSH [tag]",
"source": 2,
"value": "43"
},
{
"begin": 1819,
"end": 1820,
"name": "DUP4",
"source": 2
},
{
"begin": 1801,
"end": 1821,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 1801,
"end": 1821,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1801,
"end": 1821,
"name": "tag",
"source": 2,
"value": "43"
},
{
"begin": 1801,
"end": 1821,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1796,
"end": 1821,
"name": "SWAP3",
"source": 2
},
{
"begin": 1796,
"end": 1821,
"name": "POP",
"source": 2
},
{
"begin": 1844,
"end": 1845,
"name": "DUP3",
"source": 2
},
{
"begin": 1841,
"end": 1842,
"name": "DUP3",
"source": 2
},
{
"begin": 1837,
"end": 1846,
"name": "ADD",
"source": 2
},
{
"begin": 1830,
"end": 1846,
"name": "SWAP1",
"source": 2
},
{
"begin": 1830,
"end": 1846,
"name": "POP",
"source": 2
},
{
"begin": 1865,
"end": 1868,
"name": "DUP1",
"source": 2
},
{
"begin": 1862,
"end": 1863,
"name": "DUP3",
"source": 2
},
{
"begin": 1859,
"end": 1869,
"name": "GT",
"source": 2
},
{
"begin": 1856,
"end": 1892,
"name": "ISZERO",
"source": 2
},
{
"begin": 1856,
"end": 1892,
"name": "PUSH [tag]",
"source": 2,
"value": "44"
},
{
"begin": 1856,
"end": 1892,
"name": "JUMPI",
"source": 2
},
{
"begin": 1872,
"end": 1890,
"name": "PUSH [tag]",
"source": 2,
"value": "45"
},
{
"begin": 1872,
"end": 1890,
"name": "PUSH [tag]",
"source": 2,
"value": "20"
},
{
"begin": 1872,
"end": 1890,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1872,
"end": 1890,
"name": "tag",
"source": 2,
"value": "45"
},
{
"begin": 1872,
"end": 1890,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1856,
"end": 1892,
"name": "tag",
"source": 2,
"value": "44"
},
{
"begin": 1856,
"end": 1892,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"name": "SWAP3",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"name": "SWAP2",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"name": "POP",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"name": "POP",
"source": 2
},
{
"begin": 1708,
"end": 1899,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
}
]
}
},
"sourceList": [
"contracts/add.sol",
"contracts/demo.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"add(uint256,uint256)": "771602f7"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sum\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/add.sol\":\"AdditionContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/add.sol\":{\"keccak256\":\"0x5a40a41bd574a85edea219b694b1d533675ea467e2a7325d1f4af2ed6aeedafe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d192d0b6b2eba8fda265237c295c6229c643f61b2a81a1c8224fb58e11fb0fa\",\"dweb:/ipfs/QmXMyyMEszapG5ugt2uaPfYQeMZhLXmEQ5urMXQiWT4gPP\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"contracts/demo.sol": {
"SafeCounter": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "incrementExecuted",
"type": "event"
},
{
"inputs": [],
"name": "MAX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "sum",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "checkLogs",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "uint256",
"name": "lastChecked",
"type": "uint256"
}
],
"internalType": "struct SafeCounter.HistoryLog",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "increment",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/demo.sol\":87:1650 contract SafeCounter is AdditionContract {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/demo.sol\":87:1650 contract SafeCounter is AdditionContract {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x2414f2f1\n eq\n tag_3\n jumpi\n dup1\n 0x411860ad\n eq\n tag_4\n jumpi\n dup1\n 0x4f0cd27b\n eq\n tag_5\n jumpi\n dup1\n 0x771602f7\n eq\n tag_6\n jumpi\n dup1\n 0xd49d5181\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/demo.sol\":1072:1501 function increment(... */\n tag_3:\n tag_8\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n tag_11\n jump\t// in\n tag_8:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/demo.sol\":1507:1648 function checkLogs(address user) public view returns (HistoryLog memory) {... */\n tag_4:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n tag_17\n jump\t// in\n tag_14:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/demo.sol\":873:1018 function getCount(... */\n tag_5:\n tag_20\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_21\n swap2\n swap1\n tag_16\n jump\t// in\n tag_21:\n tag_22\n jump\t// in\n tag_20:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_13\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/add.sol\":90:188 function add(uint256 a, uint256 b) public pure returns (uint256 sum) {... */\n tag_6:\n tag_24\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_25\n swap2\n swap1\n tag_26\n jump\t// in\n tag_25:\n tag_27\n jump\t// in\n tag_24:\n mload(0x40)\n tag_28\n swap2\n swap1\n tag_13\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/demo.sol\":556:588 uint256 public constant MAX = 10 */\n tag_7:\n tag_29\n tag_30\n jump\t// in\n tag_29:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_13\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/demo.sol\":1072:1501 function increment(... */\n tag_11:\n /* \"contracts/demo.sol\":1183:1190 uint256 */\n 0x00\n /* \"contracts/demo.sol\":1168:1172 user */\n dup3\n /* \"contracts/demo.sol\":273:277 user */\n dup1\n /* \"contracts/demo.sol\":259:277 msg.sender == user */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/demo.sol\":259:269 msg.sender */\n caller\n /* \"contracts/demo.sol\":259:277 msg.sender == user */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/demo.sol\":251:291 require(msg.sender == user, \"Not owner\") */\n tag_33\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_34\n swap1\n tag_35\n jump\t// in\n tag_34:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_33:\n /* \"contracts/demo.sol\":586:588 10 */\n 0x0a\n /* \"contracts/demo.sol\":1210:1215 value */\n dup4\n /* \"contracts/demo.sol\":1210:1222 value <= MAX */\n gt\n iszero\n /* \"contracts/demo.sol\":1224:1233 ERROR_MSG */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x16\n dup2\n mstore\n 0x20\n add\n 0x4d6178696d756d2056616c756520457863656564656400000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/demo.sol\":1202:1234 require(value <= MAX, ERROR_MSG) */\n swap1\n tag_37\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_38\n swap2\n swap1\n tag_39\n jump\t// in\n tag_38:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_37:\n pop\n /* \"contracts/demo.sol\":1261:1296 Counter(user, counters[user].count) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/demo.sol\":1269:1273 user */\n dup6\n /* \"contracts/demo.sol\":1261:1296 Counter(user, counters[user].count) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/demo.sol\":1275:1283 counters */\n 0x00\n /* \"contracts/demo.sol\":1275:1289 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1284:1288 user */\n dup8\n /* \"contracts/demo.sol\":1275:1289 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1275:1295 counters[user].count */\n 0x01\n add\n sload\n /* \"contracts/demo.sol\":1261:1296 Counter(user, counters[user].count) */\n dup2\n mstore\n pop\n /* \"contracts/demo.sol\":1244:1252 counters */\n 0x00\n /* \"contracts/demo.sol\":1244:1258 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1253:1257 user */\n dup7\n /* \"contracts/demo.sol\":1244:1258 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1244:1296 counters[user] = Counter(user, counters[user].count) */\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n sstore\n swap1\n pop\n pop\n /* \"contracts/demo.sol\":1329:1412 AdditionContract.add(... */\n tag_40\n /* \"contracts/demo.sol\":1363:1371 counters */\n 0x00\n /* \"contracts/demo.sol\":1363:1377 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1372:1376 user */\n dup7\n /* \"contracts/demo.sol\":1363:1377 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1363:1383 counters[user].count */\n 0x01\n add\n sload\n /* \"contracts/demo.sol\":1397:1402 value */\n dup5\n /* \"contracts/demo.sol\":1329:1349 AdditionContract.add */\n tag_27\n /* \"contracts/demo.sol\":1329:1412 AdditionContract.add(... */\n jump\t// in\n tag_40:\n /* \"contracts/demo.sol\":1306:1314 counters */\n 0x00\n /* \"contracts/demo.sol\":1306:1320 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1315:1319 user */\n dup7\n /* \"contracts/demo.sol\":1306:1320 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1306:1326 counters[user].count */\n 0x01\n add\n /* \"contracts/demo.sol\":1306:1412 counters[user].count = AdditionContract.add(... */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/demo.sol\":1427:1457 incrementExecuted(user, value) */\n 0xf207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca7\n /* \"contracts/demo.sol\":1445:1449 user */\n dup5\n /* \"contracts/demo.sol\":1451:1456 value */\n dup5\n /* \"contracts/demo.sol\":1427:1457 incrementExecuted(user, value) */\n mload(0x40)\n tag_41\n swap3\n swap2\n swap1\n tag_42\n jump\t// in\n tag_41:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/demo.sol\":1474:1482 counters */\n 0x00\n /* \"contracts/demo.sol\":1474:1488 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1483:1487 user */\n dup6\n /* \"contracts/demo.sol\":1474:1488 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1474:1494 counters[user].count */\n 0x01\n add\n sload\n /* \"contracts/demo.sol\":1467:1494 return counters[user].count */\n swap2\n pop\n /* \"contracts/demo.sol\":1072:1501 function increment(... */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/demo.sol\":1507:1648 function checkLogs(address user) public view returns (HistoryLog memory) {... */\n tag_17:\n /* \"contracts/demo.sol\":1561:1578 HistoryLog memory */\n tag_43\n tag_44\n jump\t// in\n tag_43:\n /* \"contracts/demo.sol\":1597:1641 HistoryLog(msg.sender, counters[user].count) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"contracts/demo.sol\":1608:1618 msg.sender */\n caller\n /* \"contracts/demo.sol\":1597:1641 HistoryLog(msg.sender, counters[user].count) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/demo.sol\":1620:1628 counters */\n 0x00\n /* \"contracts/demo.sol\":1620:1634 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1629:1633 user */\n dup6\n /* \"contracts/demo.sol\":1620:1634 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":1620:1640 counters[user].count */\n 0x01\n add\n sload\n /* \"contracts/demo.sol\":1597:1641 HistoryLog(msg.sender, counters[user].count) */\n dup2\n mstore\n pop\n /* \"contracts/demo.sol\":1590:1641 return HistoryLog(msg.sender, counters[user].count) */\n swap1\n pop\n /* \"contracts/demo.sol\":1507:1648 function checkLogs(address user) public view returns (HistoryLog memory) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/demo.sol\":873:1018 function getCount(... */\n tag_22:\n /* \"contracts/demo.sol\":965:972 uint256 */\n 0x00\n /* \"contracts/demo.sol\":950:954 user */\n dup2\n /* \"contracts/demo.sol\":273:277 user */\n dup1\n /* \"contracts/demo.sol\":259:277 msg.sender == user */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/demo.sol\":259:269 msg.sender */\n caller\n /* \"contracts/demo.sol\":259:277 msg.sender == user */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/demo.sol\":251:291 require(msg.sender == user, \"Not owner\") */\n tag_47\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_48\n swap1\n tag_35\n jump\t// in\n tag_48:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_47:\n /* \"contracts/demo.sol\":991:999 counters */\n 0x00\n /* \"contracts/demo.sol\":991:1005 counters[user] */\n dup1\n /* \"contracts/demo.sol\":1000:1004 user */\n dup5\n /* \"contracts/demo.sol\":991:1005 counters[user] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/demo.sol\":991:1011 counters[user].count */\n 0x01\n add\n sload\n /* \"contracts/demo.sol\":984:1011 return counters[user].count */\n swap2\n pop\n /* \"contracts/demo.sol\":873:1018 function getCount(... */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/add.sol\":90:188 function add(uint256 a, uint256 b) public pure returns (uint256 sum) {... */\n tag_27:\n /* \"contracts/add.sol\":146:157 uint256 sum */\n 0x00\n /* \"contracts/add.sol\":180:181 b */\n dup2\n /* \"contracts/add.sol\":176:177 a */\n dup4\n /* \"contracts/add.sol\":176:181 a + b */\n tag_51\n swap2\n swap1\n tag_52\n jump\t// in\n tag_51:\n /* \"contracts/add.sol\":169:181 return a + b */\n swap1\n pop\n /* \"contracts/add.sol\":90:188 function add(uint256 a, uint256 b) public pure returns (uint256 sum) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/demo.sol\":556:588 uint256 public constant MAX = 10 */\n tag_30:\n /* \"contracts/demo.sol\":586:588 10 */\n 0x0a\n /* \"contracts/demo.sol\":556:588 uint256 public constant MAX = 10 */\n dup2\n jump\t// out\n tag_44:\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n and(0xffffffffffffffffffffffffffffffffffffffff, 0x00)\n dup2\n mstore\n 0x20\n add\n 0x00\n dup2\n mstore\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_54:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_56:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_57:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_82\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_56\n jump\t// in\n tag_82:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_58:\n /* \"#utility.yul\":641:665 */\n tag_84\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_57\n jump\t// in\n tag_84:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_85\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_85:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_59:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_87\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_58\n jump\t// in\n tag_87:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:918 */\n tag_60:\n /* \"#utility.yul\":878:885 */\n 0x00\n /* \"#utility.yul\":907:912 */\n dup2\n /* \"#utility.yul\":896:912 */\n swap1\n pop\n /* \"#utility.yul\":841:918 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":924:1046 */\n tag_61:\n /* \"#utility.yul\":997:1021 */\n tag_90\n /* \"#utility.yul\":1015:1020 */\n dup2\n /* \"#utility.yul\":997:1021 */\n tag_60\n jump\t// in\n tag_90:\n /* \"#utility.yul\":990:995 */\n dup2\n /* \"#utility.yul\":987:1022 */\n eq\n /* \"#utility.yul\":977:1040 */\n tag_91\n jumpi\n /* \"#utility.yul\":1036:1037 */\n 0x00\n /* \"#utility.yul\":1033:1034 */\n dup1\n /* \"#utility.yul\":1026:1038 */\n revert\n /* \"#utility.yul\":977:1040 */\n tag_91:\n /* \"#utility.yul\":924:1046 */\n pop\n jump\t// out\n /* \"#utility.yul\":1052:1191 */\n tag_62:\n /* \"#utility.yul\":1098:1103 */\n 0x00\n /* \"#utility.yul\":1136:1142 */\n dup2\n /* \"#utility.yul\":1123:1143 */\n calldataload\n /* \"#utility.yul\":1114:1143 */\n swap1\n pop\n /* \"#utility.yul\":1152:1185 */\n tag_93\n /* \"#utility.yul\":1179:1184 */\n dup2\n /* \"#utility.yul\":1152:1185 */\n tag_61\n jump\t// in\n tag_93:\n /* \"#utility.yul\":1052:1191 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1197:1671 */\n tag_10:\n /* \"#utility.yul\":1265:1271 */\n 0x00\n /* \"#utility.yul\":1273:1279 */\n dup1\n /* \"#utility.yul\":1322:1324 */\n 0x40\n /* \"#utility.yul\":1310:1319 */\n dup4\n /* \"#utility.yul\":1301:1308 */\n dup6\n /* \"#utility.yul\":1297:1320 */\n sub\n /* \"#utility.yul\":1293:1325 */\n slt\n /* \"#utility.yul\":1290:1409 */\n iszero\n tag_95\n jumpi\n /* \"#utility.yul\":1328:1407 */\n tag_96\n tag_54\n jump\t// in\n tag_96:\n /* \"#utility.yul\":1290:1409 */\n tag_95:\n /* \"#utility.yul\":1448:1449 */\n 0x00\n /* \"#utility.yul\":1473:1526 */\n tag_97\n /* \"#utility.yul\":1518:1525 */\n dup6\n /* \"#utility.yul\":1509:1515 */\n dup3\n /* \"#utility.yul\":1498:1507 */\n dup7\n /* \"#utility.yul\":1494:1516 */\n add\n /* \"#utility.yul\":1473:1526 */\n tag_59\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1463:1526 */\n swap3\n pop\n /* \"#utility.yul\":1419:1536 */\n pop\n /* \"#utility.yul\":1575:1577 */\n 0x20\n /* \"#utility.yul\":1601:1654 */\n tag_98\n /* \"#utility.yul\":1646:1653 */\n dup6\n /* \"#utility.yul\":1637:1643 */\n dup3\n /* \"#utility.yul\":1626:1635 */\n dup7\n /* \"#utility.yul\":1622:1644 */\n add\n /* \"#utility.yul\":1601:1654 */\n tag_62\n jump\t// in\n tag_98:\n /* \"#utility.yul\":1591:1654 */\n swap2\n pop\n /* \"#utility.yul\":1546:1664 */\n pop\n /* \"#utility.yul\":1197:1671 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1677:1795 */\n tag_63:\n /* \"#utility.yul\":1764:1788 */\n tag_100\n /* \"#utility.yul\":1782:1787 */\n dup2\n /* \"#utility.yul\":1764:1788 */\n tag_60\n jump\t// in\n tag_100:\n /* \"#utility.yul\":1759:1762 */\n dup3\n /* \"#utility.yul\":1752:1789 */\n mstore\n /* \"#utility.yul\":1677:1795 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1801:2023 */\n tag_13:\n /* \"#utility.yul\":1894:1898 */\n 0x00\n /* \"#utility.yul\":1932:1934 */\n 0x20\n /* \"#utility.yul\":1921:1930 */\n dup3\n /* \"#utility.yul\":1917:1935 */\n add\n /* \"#utility.yul\":1909:1935 */\n swap1\n pop\n /* \"#utility.yul\":1945:2016 */\n tag_102\n /* \"#utility.yul\":2013:2014 */\n 0x00\n /* \"#utility.yul\":2002:2011 */\n dup4\n /* \"#utility.yul\":1998:2015 */\n add\n /* \"#utility.yul\":1989:1995 */\n dup5\n /* \"#utility.yul\":1945:2016 */\n tag_63\n jump\t// in\n tag_102:\n /* \"#utility.yul\":1801:2023 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2029:2358 */\n tag_16:\n /* \"#utility.yul\":2088:2094 */\n 0x00\n /* \"#utility.yul\":2137:2139 */\n 0x20\n /* \"#utility.yul\":2125:2134 */\n dup3\n /* \"#utility.yul\":2116:2123 */\n dup5\n /* \"#utility.yul\":2112:2135 */\n sub\n /* \"#utility.yul\":2108:2140 */\n slt\n /* \"#utility.yul\":2105:2224 */\n iszero\n tag_104\n jumpi\n /* \"#utility.yul\":2143:2222 */\n tag_105\n tag_54\n jump\t// in\n tag_105:\n /* \"#utility.yul\":2105:2224 */\n tag_104:\n /* \"#utility.yul\":2263:2264 */\n 0x00\n /* \"#utility.yul\":2288:2341 */\n tag_106\n /* \"#utility.yul\":2333:2340 */\n dup5\n /* \"#utility.yul\":2324:2330 */\n dup3\n /* \"#utility.yul\":2313:2322 */\n dup6\n /* \"#utility.yul\":2309:2331 */\n add\n /* \"#utility.yul\":2288:2341 */\n tag_59\n jump\t// in\n tag_106:\n /* \"#utility.yul\":2278:2341 */\n swap2\n pop\n /* \"#utility.yul\":2234:2351 */\n pop\n /* \"#utility.yul\":2029:2358 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2364:2472 */\n tag_64:\n /* \"#utility.yul\":2441:2465 */\n tag_108\n /* \"#utility.yul\":2459:2464 */\n dup2\n /* \"#utility.yul\":2441:2465 */\n tag_57\n jump\t// in\n tag_108:\n /* \"#utility.yul\":2436:2439 */\n dup3\n /* \"#utility.yul\":2429:2466 */\n mstore\n /* \"#utility.yul\":2364:2472 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2478:2586 */\n tag_65:\n /* \"#utility.yul\":2555:2579 */\n tag_110\n /* \"#utility.yul\":2573:2578 */\n dup2\n /* \"#utility.yul\":2555:2579 */\n tag_60\n jump\t// in\n tag_110:\n /* \"#utility.yul\":2550:2553 */\n dup3\n /* \"#utility.yul\":2543:2580 */\n mstore\n /* \"#utility.yul\":2478:2586 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2662:3180 */\n tag_66:\n /* \"#utility.yul\":2811:2815 */\n 0x40\n /* \"#utility.yul\":2806:2809 */\n dup3\n /* \"#utility.yul\":2802:2816 */\n add\n /* \"#utility.yul\":2900:2904 */\n 0x00\n /* \"#utility.yul\":2893:2898 */\n dup3\n /* \"#utility.yul\":2889:2905 */\n add\n /* \"#utility.yul\":2883:2906 */\n mload\n /* \"#utility.yul\":2919:2982 */\n tag_112\n /* \"#utility.yul\":2976:2980 */\n 0x00\n /* \"#utility.yul\":2971:2974 */\n dup6\n /* \"#utility.yul\":2967:2981 */\n add\n /* \"#utility.yul\":2953:2965 */\n dup3\n /* \"#utility.yul\":2919:2982 */\n tag_64\n jump\t// in\n tag_112:\n /* \"#utility.yul\":2826:2992 */\n pop\n /* \"#utility.yul\":3081:3085 */\n 0x20\n /* \"#utility.yul\":3074:3079 */\n dup3\n /* \"#utility.yul\":3070:3086 */\n add\n /* \"#utility.yul\":3064:3087 */\n mload\n /* \"#utility.yul\":3100:3163 */\n tag_113\n /* \"#utility.yul\":3157:3161 */\n 0x20\n /* \"#utility.yul\":3152:3155 */\n dup6\n /* \"#utility.yul\":3148:3162 */\n add\n /* \"#utility.yul\":3134:3146 */\n dup3\n /* \"#utility.yul\":3100:3163 */\n tag_65\n jump\t// in\n tag_113:\n /* \"#utility.yul\":3002:3173 */\n pop\n /* \"#utility.yul\":2780:3180 */\n pop\n /* \"#utility.yul\":2662:3180 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3186:3512 */\n tag_19:\n /* \"#utility.yul\":3331:3335 */\n 0x00\n /* \"#utility.yul\":3369:3371 */\n 0x40\n /* \"#utility.yul\":3358:3367 */\n dup3\n /* \"#utility.yul\":3354:3372 */\n add\n /* \"#utility.yul\":3346:3372 */\n swap1\n pop\n /* \"#utility.yul\":3382:3505 */\n tag_115\n /* \"#utility.yul\":3502:3503 */\n 0x00\n /* \"#utility.yul\":3491:3500 */\n dup4\n /* \"#utility.yul\":3487:3504 */\n add\n /* \"#utility.yul\":3478:3484 */\n dup5\n /* \"#utility.yul\":3382:3505 */\n tag_66\n jump\t// in\n tag_115:\n /* \"#utility.yul\":3186:3512 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3518:3992 */\n tag_26:\n /* \"#utility.yul\":3586:3592 */\n 0x00\n /* \"#utility.yul\":3594:3600 */\n dup1\n /* \"#utility.yul\":3643:3645 */\n 0x40\n /* \"#utility.yul\":3631:3640 */\n dup4\n /* \"#utility.yul\":3622:3629 */\n dup6\n /* \"#utility.yul\":3618:3641 */\n sub\n /* \"#utility.yul\":3614:3646 */\n slt\n /* \"#utility.yul\":3611:3730 */\n iszero\n tag_117\n jumpi\n /* \"#utility.yul\":3649:3728 */\n tag_118\n tag_54\n jump\t// in\n tag_118:\n /* \"#utility.yul\":3611:3730 */\n tag_117:\n /* \"#utility.yul\":3769:3770 */\n 0x00\n /* \"#utility.yul\":3794:3847 */\n tag_119\n /* \"#utility.yul\":3839:3846 */\n dup6\n /* \"#utility.yul\":3830:3836 */\n dup3\n /* \"#utility.yul\":3819:3828 */\n dup7\n /* \"#utility.yul\":3815:3837 */\n add\n /* \"#utility.yul\":3794:3847 */\n tag_62\n jump\t// in\n tag_119:\n /* \"#utility.yul\":3784:3847 */\n swap3\n pop\n /* \"#utility.yul\":3740:3857 */\n pop\n /* \"#utility.yul\":3896:3898 */\n 0x20\n /* \"#utility.yul\":3922:3975 */\n tag_120\n /* \"#utility.yul\":3967:3974 */\n dup6\n /* \"#utility.yul\":3958:3964 */\n dup3\n /* \"#utility.yul\":3947:3956 */\n dup7\n /* \"#utility.yul\":3943:3965 */\n add\n /* \"#utility.yul\":3922:3975 */\n tag_62\n jump\t// in\n tag_120:\n /* \"#utility.yul\":3912:3975 */\n swap2\n pop\n /* \"#utility.yul\":3867:3985 */\n pop\n /* \"#utility.yul\":3518:3992 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3998:4167 */\n tag_67:\n /* \"#utility.yul\":4082:4093 */\n 0x00\n /* \"#utility.yul\":4116:4122 */\n dup3\n /* \"#utility.yul\":4111:4114 */\n dup3\n /* \"#utility.yul\":4104:4123 */\n mstore\n /* \"#utility.yul\":4156:4160 */\n 0x20\n /* \"#utility.yul\":4151:4154 */\n dup3\n /* \"#utility.yul\":4147:4161 */\n add\n /* \"#utility.yul\":4132:4161 */\n swap1\n pop\n /* \"#utility.yul\":3998:4167 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4173:4332 */\n tag_68:\n /* \"#utility.yul\":4313:4324 */\n 0x4e6f74206f776e65720000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4309:4310 */\n 0x00\n /* \"#utility.yul\":4301:4307 */\n dup3\n /* \"#utility.yul\":4297:4311 */\n add\n /* \"#utility.yul\":4290:4325 */\n mstore\n /* \"#utility.yul\":4173:4332 */\n pop\n jump\t// out\n /* \"#utility.yul\":4338:4703 */\n tag_69:\n /* \"#utility.yul\":4480:4483 */\n 0x00\n /* \"#utility.yul\":4501:4567 */\n tag_124\n /* \"#utility.yul\":4565:4566 */\n 0x09\n /* \"#utility.yul\":4560:4563 */\n dup4\n /* \"#utility.yul\":4501:4567 */\n tag_67\n jump\t// in\n tag_124:\n /* \"#utility.yul\":4494:4567 */\n swap2\n pop\n /* \"#utility.yul\":4576:4669 */\n tag_125\n /* \"#utility.yul\":4665:4668 */\n dup3\n /* \"#utility.yul\":4576:4669 */\n tag_68\n jump\t// in\n tag_125:\n /* \"#utility.yul\":4694:4696 */\n 0x20\n /* \"#utility.yul\":4689:4692 */\n dup3\n /* \"#utility.yul\":4685:4697 */\n add\n /* \"#utility.yul\":4678:4697 */\n swap1\n pop\n /* \"#utility.yul\":4338:4703 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4709:5128 */\n tag_35:\n /* \"#utility.yul\":4875:4879 */\n 0x00\n /* \"#utility.yul\":4913:4915 */\n 0x20\n /* \"#utility.yul\":4902:4911 */\n dup3\n /* \"#utility.yul\":4898:4916 */\n add\n /* \"#utility.yul\":4890:4916 */\n swap1\n pop\n /* \"#utility.yul\":4962:4971 */\n dup2\n /* \"#utility.yul\":4956:4960 */\n dup2\n /* \"#utility.yul\":4952:4972 */\n sub\n /* \"#utility.yul\":4948:4949 */\n 0x00\n /* \"#utility.yul\":4937:4946 */\n dup4\n /* \"#utility.yul\":4933:4950 */\n add\n /* \"#utility.yul\":4926:4973 */\n mstore\n /* \"#utility.yul\":4990:5121 */\n tag_127\n /* \"#utility.yul\":5116:5120 */\n dup2\n /* \"#utility.yul\":4990:5121 */\n tag_69\n jump\t// in\n tag_127:\n /* \"#utility.yul\":4982:5121 */\n swap1\n pop\n /* \"#utility.yul\":4709:5128 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5134:5233 */\n tag_70:\n /* \"#utility.yul\":5186:5192 */\n 0x00\n /* \"#utility.yul\":5220:5225 */\n dup2\n /* \"#utility.yul\":5214:5226 */\n mload\n /* \"#utility.yul\":5204:5226 */\n swap1\n pop\n /* \"#utility.yul\":5134:5233 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5239:5485 */\n tag_71:\n /* \"#utility.yul\":5320:5321 */\n 0x00\n /* \"#utility.yul\":5330:5443 */\n tag_130:\n /* \"#utility.yul\":5344:5350 */\n dup4\n /* \"#utility.yul\":5341:5342 */\n dup2\n /* \"#utility.yul\":5338:5351 */\n lt\n /* \"#utility.yul\":5330:5443 */\n iszero\n tag_132\n jumpi\n /* \"#utility.yul\":5429:5430 */\n dup1\n /* \"#utility.yul\":5424:5427 */\n dup3\n /* \"#utility.yul\":5420:5431 */\n add\n /* \"#utility.yul\":5414:5432 */\n mload\n /* \"#utility.yul\":5410:5411 */\n dup2\n /* \"#utility.yul\":5405:5408 */\n dup5\n /* \"#utility.yul\":5401:5412 */\n add\n /* \"#utility.yul\":5394:5433 */\n mstore\n /* \"#utility.yul\":5366:5368 */\n 0x20\n /* \"#utility.yul\":5363:5364 */\n dup2\n /* \"#utility.yul\":5359:5369 */\n add\n /* \"#utility.yul\":5354:5369 */\n swap1\n pop\n /* \"#utility.yul\":5330:5443 */\n jump(tag_130)\n tag_132:\n /* \"#utility.yul\":5477:5478 */\n 0x00\n /* \"#utility.yul\":5468:5474 */\n dup5\n /* \"#utility.yul\":5463:5466 */\n dup5\n /* \"#utility.yul\":5459:5475 */\n add\n /* \"#utility.yul\":5452:5479 */\n mstore\n /* \"#utility.yul\":5301:5485 */\n pop\n /* \"#utility.yul\":5239:5485 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5491:5593 */\n tag_72:\n /* \"#utility.yul\":5532:5538 */\n 0x00\n /* \"#utility.yul\":5583:5585 */\n 0x1f\n /* \"#utility.yul\":5579:5586 */\n not\n /* \"#utility.yul\":5574:5576 */\n 0x1f\n /* \"#utility.yul\":5567:5572 */\n dup4\n /* \"#utility.yul\":5563:5577 */\n add\n /* \"#utility.yul\":5559:5587 */\n and\n /* \"#utility.yul\":5549:5587 */\n swap1\n pop\n /* \"#utility.yul\":5491:5593 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5599:5976 */\n tag_73:\n /* \"#utility.yul\":5687:5690 */\n 0x00\n /* \"#utility.yul\":5715:5754 */\n tag_135\n /* \"#utility.yul\":5748:5753 */\n dup3\n /* \"#utility.yul\":5715:5754 */\n tag_70\n jump\t// in\n tag_135:\n /* \"#utility.yul\":5770:5841 */\n tag_136\n /* \"#utility.yul\":5834:5840 */\n dup2\n /* \"#utility.yul\":5829:5832 */\n dup6\n /* \"#utility.yul\":5770:5841 */\n tag_67\n jump\t// in\n tag_136:\n /* \"#utility.yul\":5763:5841 */\n swap4\n pop\n /* \"#utility.yul\":5850:5915 */\n tag_137\n /* \"#utility.yul\":5908:5914 */\n dup2\n /* \"#utility.yul\":5903:5906 */\n dup6\n /* \"#utility.yul\":5896:5900 */\n 0x20\n /* \"#utility.yul\":5889:5894 */\n dup7\n /* \"#utility.yul\":5885:5901 */\n add\n /* \"#utility.yul\":5850:5915 */\n tag_71\n jump\t// in\n tag_137:\n /* \"#utility.yul\":5940:5969 */\n tag_138\n /* \"#utility.yul\":5962:5968 */\n dup2\n /* \"#utility.yul\":5940:5969 */\n tag_72\n jump\t// in\n tag_138:\n /* \"#utility.yul\":5935:5938 */\n dup5\n /* \"#utility.yul\":5931:5970 */\n add\n /* \"#utility.yul\":5924:5970 */\n swap2\n pop\n /* \"#utility.yul\":5691:5976 */\n pop\n /* \"#utility.yul\":5599:5976 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5982:6295 */\n tag_39:\n /* \"#utility.yul\":6095:6099 */\n 0x00\n /* \"#utility.yul\":6133:6135 */\n 0x20\n /* \"#utility.yul\":6122:6131 */\n dup3\n /* \"#utility.yul\":6118:6136 */\n add\n /* \"#utility.yul\":6110:6136 */\n swap1\n pop\n /* \"#utility.yul\":6182:6191 */\n dup2\n /* \"#utility.yul\":6176:6180 */\n dup2\n /* \"#utility.yul\":6172:6192 */\n sub\n /* \"#utility.yul\":6168:6169 */\n 0x00\n /* \"#utility.yul\":6157:6166 */\n dup4\n /* \"#utility.yul\":6153:6170 */\n add\n /* \"#utility.yul\":6146:6193 */\n mstore\n /* \"#utility.yul\":6210:6288 */\n tag_140\n /* \"#utility.yul\":6283:6287 */\n dup2\n /* \"#utility.yul\":6274:6280 */\n dup5\n /* \"#utility.yul\":6210:6288 */\n tag_73\n jump\t// in\n tag_140:\n /* \"#utility.yul\":6202:6288 */\n swap1\n pop\n /* \"#utility.yul\":5982:6295 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6301:6419 */\n tag_74:\n /* \"#utility.yul\":6388:6412 */\n tag_142\n /* \"#utility.yul\":6406:6411 */\n dup2\n /* \"#utility.yul\":6388:6412 */\n tag_57\n jump\t// in\n tag_142:\n /* \"#utility.yul\":6383:6386 */\n dup3\n /* \"#utility.yul\":6376:6413 */\n mstore\n /* \"#utility.yul\":6301:6419 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6425:6757 */\n tag_42:\n /* \"#utility.yul\":6546:6550 */\n 0x00\n /* \"#utility.yul\":6584:6586 */\n 0x40\n /* \"#utility.yul\":6573:6582 */\n dup3\n /* \"#utility.yul\":6569:6587 */\n add\n /* \"#utility.yul\":6561:6587 */\n swap1\n pop\n /* \"#utility.yul\":6597:6668 */\n tag_144\n /* \"#utility.yul\":6665:6666 */\n 0x00\n /* \"#utility.yul\":6654:6663 */\n dup4\n /* \"#utility.yul\":6650:6667 */\n add\n /* \"#utility.yul\":6641:6647 */\n dup6\n /* \"#utility.yul\":6597:6668 */\n tag_74\n jump\t// in\n tag_144:\n /* \"#utility.yul\":6678:6750 */\n tag_145\n /* \"#utility.yul\":6746:6748 */\n 0x20\n /* \"#utility.yul\":6735:6744 */\n dup4\n /* \"#utility.yul\":6731:6749 */\n add\n /* \"#utility.yul\":6722:6728 */\n dup5\n /* \"#utility.yul\":6678:6750 */\n tag_63\n jump\t// in\n tag_145:\n /* \"#utility.yul\":6425:6757 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6763:6943 */\n tag_75:\n /* \"#utility.yul\":6811:6888 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6808:6809 */\n 0x00\n /* \"#utility.yul\":6801:6889 */\n mstore\n /* \"#utility.yul\":6908:6912 */\n 0x11\n /* \"#utility.yul\":6905:6906 */\n 0x04\n /* \"#utility.yul\":6898:6913 */\n mstore\n /* \"#utility.yul\":6932:6936 */\n 0x24\n /* \"#utility.yul\":6929:6930 */\n 0x00\n /* \"#utility.yul\":6922:6937 */\n revert\n /* \"#utility.yul\":6949:7140 */\n tag_52:\n /* \"#utility.yul\":6989:6992 */\n 0x00\n /* \"#utility.yul\":7008:7028 */\n tag_148\n /* \"#utility.yul\":7026:7027 */\n dup3\n /* \"#utility.yul\":7008:7028 */\n tag_60\n jump\t// in\n tag_148:\n /* \"#utility.yul\":7003:7028 */\n swap2\n pop\n /* \"#utility.yul\":7042:7062 */\n tag_149\n /* \"#utility.yul\":7060:7061 */\n dup4\n /* \"#utility.yul\":7042:7062 */\n tag_60\n jump\t// in\n tag_149:\n /* \"#utility.yul\":7037:7062 */\n swap3\n pop\n /* \"#utility.yul\":7085:7086 */\n dup3\n /* \"#utility.yul\":7082:7083 */\n dup3\n /* \"#utility.yul\":7078:7087 */\n add\n /* \"#utility.yul\":7071:7087 */\n swap1\n pop\n /* \"#utility.yul\":7106:7109 */\n dup1\n /* \"#utility.yul\":7103:7104 */\n dup3\n /* \"#utility.yul\":7100:7110 */\n gt\n /* \"#utility.yul\":7097:7133 */\n iszero\n tag_150\n jumpi\n /* \"#utility.yul\":7113:7131 */\n tag_151\n tag_75\n jump\t// in\n tag_151:\n /* \"#utility.yul\":7097:7133 */\n tag_150:\n /* \"#utility.yul\":6949:7140 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212206a1d4c062958c859389c3441e95606046e5380ebf6288ae60cb0a74e29b34e5564736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610982806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632414f2f11461005c578063411860ad1461008c5780634f0cd27b146100bc578063771602f7146100ec578063d49d51811461011c575b600080fd5b61007660048036038101906100719190610654565b61013a565b60405161008391906106a3565b60405180910390f35b6100a660048036038101906100a191906106be565b61043a565b6040516100b39190610738565b60405180910390f35b6100d660048036038101906100d191906106be565b6104b5565b6040516100e391906106a3565b60405180910390f35b61010660048036038101906101019190610753565b610570565b60405161011391906106a3565b60405180910390f35b610124610586565b60405161013191906106a3565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a2906107f0565b60405180910390fd5b600a8311156040518060400160405280601681526020017f4d6178696d756d2056616c75652045786365656465640000000000000000000081525090610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e919061088f565b60405180910390fd5b5060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506103716000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015484610570565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca784846040516103e79291906108c0565b60405180910390a16000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b61044261058b565b60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152509050919050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051d906107f0565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b6000818361057e9190610918565b905092915050565b600a81565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105eb826105c0565b9050919050565b6105fb816105e0565b811461060657600080fd5b50565b600081359050610618816105f2565b92915050565b6000819050919050565b6106318161061e565b811461063c57600080fd5b50565b60008135905061064e81610628565b92915050565b6000806040838503121561066b5761066a6105bb565b5b600061067985828601610609565b925050602061068a8582860161063f565b9150509250929050565b61069d8161061e565b82525050565b60006020820190506106b86000830184610694565b92915050565b6000602082840312156106d4576106d36105bb565b5b60006106e284828501610609565b91505092915050565b6106f4816105e0565b82525050565b6107038161061e565b82525050565b60408201600082015161071f60008501826106eb565b50602082015161073260208501826106fa565b50505050565b600060408201905061074d6000830184610709565b92915050565b6000806040838503121561076a576107696105bb565b5b60006107788582860161063f565b92505060206107898582860161063f565b9150509250929050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b60006107da600983610793565b91506107e5826107a4565b602082019050919050565b60006020820190508181036000830152610809816107cd565b9050919050565b600081519050919050565b60005b8381101561083957808201518184015260208101905061081e565b60008484015250505050565b6000601f19601f8301169050919050565b600061086182610810565b61086b8185610793565b935061087b81856020860161081b565b61088481610845565b840191505092915050565b600060208201905081810360008301526108a98184610856565b905092915050565b6108ba816105e0565b82525050565b60006040820190506108d560008301856108b1565b6108e26020830184610694565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006109238261061e565b915061092e8361061e565b9250828201905080821115610946576109456108e9565b5b9291505056fea26469706673582212206a1d4c062958c859389c3441e95606046e5380ebf6288ae60cb0a74e29b34e5564736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x982 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x411860AD EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x654 JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB3 SWAP2 SWAP1 PUSH2 0x738 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD1 SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x4B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x106 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x101 SWAP2 SWAP1 PUSH2 0x753 JUMP JUMPDEST PUSH2 0x570 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x586 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A2 SWAP1 PUSH2 0x7F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 GT ISZERO PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6178696D756D2056616C756520457863656564656400000000000000000000 DUP2 MSTORE POP SWAP1 PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP2 SWAP1 PUSH2 0x88F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x371 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x570 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E7 SWAP3 SWAP2 SWAP1 PUSH2 0x8C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x442 PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x51D SWAP1 PUSH2 0x7F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x57E SWAP2 SWAP1 PUSH2 0x918 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EB DUP3 PUSH2 0x5C0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5FB DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x618 DUP2 PUSH2 0x5F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x631 DUP2 PUSH2 0x61E JUMP JUMPDEST DUP2 EQ PUSH2 0x63C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x64E DUP2 PUSH2 0x628 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x66B JUMPI PUSH2 0x66A PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x679 DUP6 DUP3 DUP7 ADD PUSH2 0x609 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x68A DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x69D DUP2 PUSH2 0x61E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x694 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6D4 JUMPI PUSH2 0x6D3 PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E2 DUP5 DUP3 DUP6 ADD PUSH2 0x609 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6F4 DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x703 DUP2 PUSH2 0x61E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x71F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x6EB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x732 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6FA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x74D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x709 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x76A JUMPI PUSH2 0x769 PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x778 DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x789 DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7DA PUSH1 0x9 DUP4 PUSH2 0x793 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E5 DUP3 PUSH2 0x7A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x809 DUP2 PUSH2 0x7CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x839 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x81E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x861 DUP3 PUSH2 0x810 JUMP JUMPDEST PUSH2 0x86B DUP2 DUP6 PUSH2 0x793 JUMP JUMPDEST SWAP4 POP PUSH2 0x87B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x81B JUMP JUMPDEST PUSH2 0x884 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8A9 DUP2 DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8BA DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x8D5 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x8B1 JUMP JUMPDEST PUSH2 0x8E2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x694 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x923 DUP3 PUSH2 0x61E JUMP JUMPDEST SWAP2 POP PUSH2 0x92E DUP4 PUSH2 0x61E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x946 JUMPI PUSH2 0x945 PUSH2 0x8E9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH11 0x1D4C062958C859389C3441 0xE9 JUMP MOD DIV PUSH15 0x5380EBF6288AE60CB0A74E29B34E55 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "87:1563:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MAX_51": {
"entryPoint": 1414,
"id": 51,
"parameterSlots": 0,
"returnSlots": 0
},
"@add_15": {
"entryPoint": 1392,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"@checkLogs_152": {
"entryPoint": 1082,
"id": 152,
"parameterSlots": 1,
"returnSlots": 1
},
"@getCount_78": {
"entryPoint": 1205,
"id": 78,
"parameterSlots": 1,
"returnSlots": 1
},
"@increment_134": {
"entryPoint": 314,
"id": 134,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 1545,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1599,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1726,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 1620,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 1875,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address": {
"entryPoint": 1771,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2225,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2134,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1997,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_struct$_HistoryLog_$45_memory_ptr_to_t_struct$_HistoryLog_$45_memory_ptr_fromStack": {
"entryPoint": 1801,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 1786,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1684,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2240,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2191,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2032,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_struct$_HistoryLog_$45_memory_ptr__to_t_struct$_HistoryLog_$45_memory_ptr__fromStack_reversed": {
"entryPoint": 1848,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1699,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2064,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1939,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2328,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1504,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1472,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1566,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2075,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"panic_error_0x11": {
"entryPoint": 2281,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1467,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2117,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682": {
"entryPoint": 1956,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1522,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1576,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7143:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:2"
},
"nodeType": "YulFunctionCall",
"src": "767:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:2"
},
"nodeType": "YulFunctionCall",
"src": "796:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:2",
"type": ""
}
],
"src": "696:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:2",
"type": ""
}
],
"src": "841:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:2"
},
"nodeType": "YulFunctionCall",
"src": "997:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:2"
},
"nodeType": "YulFunctionCall",
"src": "987:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:2"
},
"nodeType": "YulFunctionCall",
"src": "980:43:2"
},
"nodeType": "YulIf",
"src": "977:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:2",
"type": ""
}
],
"src": "924:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:2"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:2"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:2",
"type": ""
}
],
"src": "1052:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1280:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1326:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1328:77:2"
},
"nodeType": "YulFunctionCall",
"src": "1328:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "1328:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1301:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1310:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1297:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1297:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1322:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1293:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1293:32:2"
},
"nodeType": "YulIf",
"src": "1290:119:2"
},
{
"nodeType": "YulBlock",
"src": "1419:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1434:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1448:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1463:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1498:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1509:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1494:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1494:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1518:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1473:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1473:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1463:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1546:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1561:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1575:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1565:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1591:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1626:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1637:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1622:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1622:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1646:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1601:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1601:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1591:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1242:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1253:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1265:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1273:6:2",
"type": ""
}
],
"src": "1197:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1742:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1759:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1782:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1764:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1764:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1752:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1752:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1752:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1730:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1737:3:2",
"type": ""
}
],
"src": "1677:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1899:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1909:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1921:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1932:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1917:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1917:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1909:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1989:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2002:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2013:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1998:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1998:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1945:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1945:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1945:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1871:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1883:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1894:4:2",
"type": ""
}
],
"src": "1801:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2095:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2141:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2143:77:2"
},
"nodeType": "YulFunctionCall",
"src": "2143:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "2143:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2116:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2125:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2112:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2112:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2137:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2108:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2108:32:2"
},
"nodeType": "YulIf",
"src": "2105:119:2"
},
{
"nodeType": "YulBlock",
"src": "2234:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2249:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2263:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2253:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2278:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2313:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2324:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2309:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2309:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2333:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2288:20:2"
},
"nodeType": "YulFunctionCall",
"src": "2288:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2278:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2065:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2076:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2088:6:2",
"type": ""
}
],
"src": "2029:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2419:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2436:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2459:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2441:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2441:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2429:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2429:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "2429:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2407:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2414:3:2",
"type": ""
}
],
"src": "2364:108:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2533:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2550:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2573:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2555:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2555:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2543:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2543:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "2543:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2521:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2528:3:2",
"type": ""
}
],
"src": "2478:108:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2780:400:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2790:26:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2806:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2811:4:2",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2802:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2802:14:2"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2794:4:2",
"type": ""
}
]
},
{
"nodeType": "YulBlock",
"src": "2826:166:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2863:43:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2893:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2900:4:2",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2889:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2889:16:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2883:5:2"
},
"nodeType": "YulFunctionCall",
"src": "2883:23:2"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "2867:12:2",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "2953:12:2"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2971:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2976:4:2",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2967:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2967:14:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address",
"nodeType": "YulIdentifier",
"src": "2919:33:2"
},
"nodeType": "YulFunctionCall",
"src": "2919:63:2"
},
"nodeType": "YulExpressionStatement",
"src": "2919:63:2"
}
]
},
{
"nodeType": "YulBlock",
"src": "3002:171:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3044:43:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3074:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3081:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3070:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3070:16:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3064:5:2"
},
"nodeType": "YulFunctionCall",
"src": "3064:23:2"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "3048:12:2",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "3134:12:2"
},
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3152:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3157:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3148:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3148:14:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "3100:33:2"
},
"nodeType": "YulFunctionCall",
"src": "3100:63:2"
},
"nodeType": "YulExpressionStatement",
"src": "3100:63:2"
}
]
}
]
},
"name": "abi_encode_t_struct$_HistoryLog_$45_memory_ptr_to_t_struct$_HistoryLog_$45_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2767:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2774:3:2",
"type": ""
}
],
"src": "2662:518:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3336:176:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3346:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3358:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3369:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3354:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3354:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3346:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3478:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3491:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3502:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3487:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3487:17:2"
}
],
"functionName": {
"name": "abi_encode_t_struct$_HistoryLog_$45_memory_ptr_to_t_struct$_HistoryLog_$45_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3382:95:2"
},
"nodeType": "YulFunctionCall",
"src": "3382:123:2"
},
"nodeType": "YulExpressionStatement",
"src": "3382:123:2"
}
]
},
"name": "abi_encode_tuple_t_struct$_HistoryLog_$45_memory_ptr__to_t_struct$_HistoryLog_$45_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3308:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3320:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3331:4:2",
"type": ""
}
],
"src": "3186:326:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3601:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3647:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3649:77:2"
},
"nodeType": "YulFunctionCall",
"src": "3649:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "3649:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3622:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3631:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3618:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3618:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3643:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3614:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3614:32:2"
},
"nodeType": "YulIf",
"src": "3611:119:2"
},
{
"nodeType": "YulBlock",
"src": "3740:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3755:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3769:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3759:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3784:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3819:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3830:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3815:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3815:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3839:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3794:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3794:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3784:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3867:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3882:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3896:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3886:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3912:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3947:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3958:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3943:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3943:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3967:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3922:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3922:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3912:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3563:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3574:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3586:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3594:6:2",
"type": ""
}
],
"src": "3518:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4094:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4111:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4116:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4104:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4104:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "4104:19:2"
},
{
"nodeType": "YulAssignment",
"src": "4132:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4151:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4156:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4147:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4147:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4132:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4066:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4071:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4082:11:2",
"type": ""
}
],
"src": "3998:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4279:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4301:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4309:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4297:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4297:14:2"
},
{
"hexValue": "4e6f74206f776e6572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4313:11:2",
"type": "",
"value": "Not owner"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4290:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4290:35:2"
},
"nodeType": "YulExpressionStatement",
"src": "4290:35:2"
}
]
},
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4271:6:2",
"type": ""
}
],
"src": "4173:159:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4484:219:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4494:73:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4560:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4565:1:2",
"type": "",
"value": "9"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4501:58:2"
},
"nodeType": "YulFunctionCall",
"src": "4501:66:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4494:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4665:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682",
"nodeType": "YulIdentifier",
"src": "4576:88:2"
},
"nodeType": "YulFunctionCall",
"src": "4576:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "4576:93:2"
},
{
"nodeType": "YulAssignment",
"src": "4678:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4689:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4694:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4685:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4685:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4678:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4472:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4480:3:2",
"type": ""
}
],
"src": "4338:365:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4880:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4890:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4902:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4913:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4898:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4898:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4890:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4937:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4948:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4933:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4933:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4956:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4962:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4952:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4952:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4926:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4926:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "4926:47:2"
},
{
"nodeType": "YulAssignment",
"src": "4982:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5116:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4990:124:2"
},
"nodeType": "YulFunctionCall",
"src": "4990:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4982:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4860:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4875:4:2",
"type": ""
}
],
"src": "4709:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5193:40:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5204:22:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5220:5:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5214:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5214:12:2"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5204:6:2"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5176:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5186:6:2",
"type": ""
}
],
"src": "5134:99:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5301:184:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5311:10:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5320:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5315:1:2",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5380:63:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5405:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5410:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5401:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5401:11:2"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5424:3:2"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5429:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5420:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5420:11:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5414:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5414:18:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5394:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5394:39:2"
},
"nodeType": "YulExpressionStatement",
"src": "5394:39:2"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5341:1:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5344:6:2"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5338:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5338:13:2"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5352:19:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5354:15:2",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5363:1:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5366:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5359:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5359:10:2"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5354:1:2"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5334:3:2",
"statements": []
},
"src": "5330:113:2"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5463:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5468:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5459:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5459:16:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5477:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5452:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5452:27:2"
},
"nodeType": "YulExpressionStatement",
"src": "5452:27:2"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5283:3:2",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5288:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5293:6:2",
"type": ""
}
],
"src": "5239:246:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5539:54:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5549:38:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5567:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5574:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5563:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5563:14:2"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5583:2:2",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "5579:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5579:7:2"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5559:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5559:28:2"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "5549:6:2"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5522:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "5532:6:2",
"type": ""
}
],
"src": "5491:102:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5691:285:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5701:53:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5748:5:2"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5715:32:2"
},
"nodeType": "YulFunctionCall",
"src": "5715:39:2"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5705:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5763:78:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5829:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5834:6:2"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5770:58:2"
},
"nodeType": "YulFunctionCall",
"src": "5770:71:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5763:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5889:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5896:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5885:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5885:16:2"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5903:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5908:6:2"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "5850:34:2"
},
"nodeType": "YulFunctionCall",
"src": "5850:65:2"
},
"nodeType": "YulExpressionStatement",
"src": "5850:65:2"
},
{
"nodeType": "YulAssignment",
"src": "5924:46:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5935:3:2"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5962:6:2"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5940:21:2"
},
"nodeType": "YulFunctionCall",
"src": "5940:29:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5931:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5931:39:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5924:3:2"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5672:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5679:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5687:3:2",
"type": ""
}
],
"src": "5599:377:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6100:195:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6110:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6122:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6133:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6118:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6118:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6110:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6157:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6168:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6153:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6153:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6176:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6182:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6172:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6172:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6146:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6146:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "6146:47:2"
},
{
"nodeType": "YulAssignment",
"src": "6202:86:2",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6274:6:2"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6283:4:2"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6210:63:2"
},
"nodeType": "YulFunctionCall",
"src": "6210:78:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6202:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6072:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6084:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6095:4:2",
"type": ""
}
],
"src": "5982:313:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6366:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6383:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6406:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "6388:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6388:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6376:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6376:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "6376:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6354:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6361:3:2",
"type": ""
}
],
"src": "6301:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6551:206:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6561:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6573:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6584:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6569:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6569:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6561:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6641:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6654:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6665:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6650:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6650:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "6597:43:2"
},
"nodeType": "YulFunctionCall",
"src": "6597:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "6597:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "6722:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6735:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6746:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6731:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6731:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6678:43:2"
},
"nodeType": "YulFunctionCall",
"src": "6678:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "6678:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6515:9:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "6527:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6535:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6546:4:2",
"type": ""
}
],
"src": "6425:332:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6791:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6808:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6811:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6801:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6801:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "6801:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6905:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6908:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6898:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6898:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6898:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6929:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6932:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6922:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6922:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6922:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6763:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6993:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7003:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7026:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7008:17:2"
},
"nodeType": "YulFunctionCall",
"src": "7008:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7003:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7037:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7060:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7042:17:2"
},
"nodeType": "YulFunctionCall",
"src": "7042:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7037:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7071:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7082:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7085:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7078:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7078:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "7071:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7111:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "7113:16:2"
},
"nodeType": "YulFunctionCall",
"src": "7113:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "7113:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7103:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "7106:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7100:2:2"
},
"nodeType": "YulFunctionCall",
"src": "7100:10:2"
},
"nodeType": "YulIf",
"src": "7097:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6980:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6983:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "6989:3:2",
"type": ""
}
],
"src": "6949:191:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // struct SafeCounter.HistoryLog -> struct SafeCounter.HistoryLog\n function abi_encode_t_struct$_HistoryLog_$45_memory_ptr_to_t_struct$_HistoryLog_$45_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // caller\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // lastChecked\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_HistoryLog_$45_memory_ptr__to_t_struct$_HistoryLog_$45_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_HistoryLog_$45_memory_ptr_to_t_struct$_HistoryLog_$45_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(memPtr) {\n\n mstore(add(memPtr, 0), \"Not owner\")\n\n }\n\n function abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 9)\n store_literal_in_memory_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c266efca4f4ed37612271196433531dcbb4fca89a694d568d1e290e32feb1682_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c80632414f2f11461005c578063411860ad1461008c5780634f0cd27b146100bc578063771602f7146100ec578063d49d51811461011c575b600080fd5b61007660048036038101906100719190610654565b61013a565b60405161008391906106a3565b60405180910390f35b6100a660048036038101906100a191906106be565b61043a565b6040516100b39190610738565b60405180910390f35b6100d660048036038101906100d191906106be565b6104b5565b6040516100e391906106a3565b60405180910390f35b61010660048036038101906101019190610753565b610570565b60405161011391906106a3565b60405180910390f35b610124610586565b60405161013191906106a3565b60405180910390f35b6000828073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a2906107f0565b60405180910390fd5b600a8311156040518060400160405280601681526020017f4d6178696d756d2056616c75652045786365656465640000000000000000000081525090610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021e919061088f565b60405180910390fd5b5060405180604001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020016000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152506000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506103716000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015484610570565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055507ff207f93d57dc8e27166b0ba33c5593a593e5863212336203f9ceceba3b9e6ca784846040516103e79291906108c0565b60405180910390a16000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015491505092915050565b61044261058b565b60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101548152509050919050565b6000818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051d906107f0565b60405180910390fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154915050919050565b6000818361057e9190610918565b905092915050565b600a81565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105eb826105c0565b9050919050565b6105fb816105e0565b811461060657600080fd5b50565b600081359050610618816105f2565b92915050565b6000819050919050565b6106318161061e565b811461063c57600080fd5b50565b60008135905061064e81610628565b92915050565b6000806040838503121561066b5761066a6105bb565b5b600061067985828601610609565b925050602061068a8582860161063f565b9150509250929050565b61069d8161061e565b82525050565b60006020820190506106b86000830184610694565b92915050565b6000602082840312156106d4576106d36105bb565b5b60006106e284828501610609565b91505092915050565b6106f4816105e0565b82525050565b6107038161061e565b82525050565b60408201600082015161071f60008501826106eb565b50602082015161073260208501826106fa565b50505050565b600060408201905061074d6000830184610709565b92915050565b6000806040838503121561076a576107696105bb565b5b60006107788582860161063f565b92505060206107898582860161063f565b9150509250929050565b600082825260208201905092915050565b7f4e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b60006107da600983610793565b91506107e5826107a4565b602082019050919050565b60006020820190508181036000830152610809816107cd565b9050919050565b600081519050919050565b60005b8381101561083957808201518184015260208101905061081e565b60008484015250505050565b6000601f19601f8301169050919050565b600061086182610810565b61086b8185610793565b935061087b81856020860161081b565b61088481610845565b840191505092915050565b600060208201905081810360008301526108a98184610856565b905092915050565b6108ba816105e0565b82525050565b60006040820190506108d560008301856108b1565b6108e26020830184610694565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006109238261061e565b915061092e8361061e565b9250828201905080821115610946576109456108e9565b5b9291505056fea26469706673582212206a1d4c062958c859389c3441e95606046e5380ebf6288ae60cb0a74e29b34e5564736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2414F2F1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x411860AD EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x4F0CD27B EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xD49D5181 EQ PUSH2 0x11C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x76 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x654 JUMP JUMPDEST PUSH2 0x13A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x83 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA1 SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB3 SWAP2 SWAP1 PUSH2 0x738 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD1 SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x4B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x106 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x101 SWAP2 SWAP1 PUSH2 0x753 JUMP JUMPDEST PUSH2 0x570 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x124 PUSH2 0x586 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP3 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1AB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1A2 SWAP1 PUSH2 0x7F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP4 GT ISZERO PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x16 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6178696D756D2056616C756520457863656564656400000000000000000000 DUP2 MSTORE POP SWAP1 PUSH2 0x227 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21E SWAP2 SWAP1 PUSH2 0x88F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE SWAP1 POP POP PUSH2 0x371 PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP5 PUSH2 0x570 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH32 0xF207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x3E7 SWAP3 SWAP2 SWAP1 PUSH2 0x8C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x442 PUSH2 0x58B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD DUP2 MSTORE POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x51D SWAP1 PUSH2 0x7F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x57E SWAP2 SWAP1 PUSH2 0x918 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5EB DUP3 PUSH2 0x5C0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5FB DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x618 DUP2 PUSH2 0x5F2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x631 DUP2 PUSH2 0x61E JUMP JUMPDEST DUP2 EQ PUSH2 0x63C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x64E DUP2 PUSH2 0x628 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x66B JUMPI PUSH2 0x66A PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x679 DUP6 DUP3 DUP7 ADD PUSH2 0x609 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x68A DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x69D DUP2 PUSH2 0x61E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x6B8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x694 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6D4 JUMPI PUSH2 0x6D3 PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x6E2 DUP5 DUP3 DUP6 ADD PUSH2 0x609 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x6F4 DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x703 DUP2 PUSH2 0x61E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x71F PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x6EB JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x732 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x6FA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x74D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x709 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x76A JUMPI PUSH2 0x769 PUSH2 0x5BB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x778 DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x789 DUP6 DUP3 DUP7 ADD PUSH2 0x63F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F74206F776E65720000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7DA PUSH1 0x9 DUP4 PUSH2 0x793 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E5 DUP3 PUSH2 0x7A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x809 DUP2 PUSH2 0x7CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x839 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x81E JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x861 DUP3 PUSH2 0x810 JUMP JUMPDEST PUSH2 0x86B DUP2 DUP6 PUSH2 0x793 JUMP JUMPDEST SWAP4 POP PUSH2 0x87B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x81B JUMP JUMPDEST PUSH2 0x884 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8A9 DUP2 DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8BA DUP2 PUSH2 0x5E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x8D5 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x8B1 JUMP JUMPDEST PUSH2 0x8E2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x694 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x923 DUP3 PUSH2 0x61E JUMP JUMPDEST SWAP2 POP PUSH2 0x92E DUP4 PUSH2 0x61E JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x946 JUMPI PUSH2 0x945 PUSH2 0x8E9 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH11 0x1D4C062958C859389C3441 0xE9 JUMP MOD DIV PUSH15 0x5380EBF6288AE60CB0A74E29B34E55 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "87:1563:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1072:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1507:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;873:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;90:98:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;556:32:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1072:429;1183:7;1168:4;273;259:18;;:10;:18;;;251:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;586:2:::1;1210:5;:12;;1224:9;;;;;;;;;;;;;;;;::::0;1202:32:::1;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1261:35;;;;;;;;1269:4;1261:35;;;;;;1275:8;:14:::0;1284:4:::1;1275:14;;;;;;;;;;;;;;;:20;;;1261:35;;::::0;1244:8:::1;:14:::0;1253:4:::1;1244:14;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1329:83;1363:8;:14:::0;1372:4:::1;1363:14;;;;;;;;;;;;;;;:20;;;1397:5;1329:20;:83::i;:::-;1306:8;:14:::0;1315:4:::1;1306:14;;;;;;;;;;;;;;;:20;;:106;;;;1427:30;1445:4;1451:5;1427:30;;;;;;;:::i;:::-;;;;;;;;1474:8;:14:::0;1483:4:::1;1474:14;;;;;;;;;;;;;;;:20;;;1467:27;;1072:429:::0;;;;;:::o;1507:141::-;1561:17;;:::i;:::-;1597:44;;;;;;;;1608:10;1597:44;;;;;;1620:8;:14;1629:4;1620:14;;;;;;;;;;;;;;;:20;;;1597:44;;;1590:51;;1507:141;;;:::o;873:145::-;965:7;950:4;273;259:18;;:10;:18;;;251:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;991:8:::1;:14:::0;1000:4:::1;991:14;;;;;;;;;;;;;;;:20;;;984:27;;873:145:::0;;;;:::o;90:98:0:-;146:11;180:1;176;:5;;;;:::i;:::-;169:12;;90:98;;;;:::o;556:32:1:-;586:2;556:32;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:474::-;1265:6;1273;1322:2;1310:9;1301:7;1297:23;1293:32;1290:119;;;1328:79;;:::i;:::-;1290:119;1448:1;1473:53;1518:7;1509:6;1498:9;1494:22;1473:53;:::i;:::-;1463:63;;1419:117;1575:2;1601:53;1646:7;1637:6;1626:9;1622:22;1601:53;:::i;:::-;1591:63;;1546:118;1197:474;;;;;:::o;1677:118::-;1764:24;1782:5;1764:24;:::i;:::-;1759:3;1752:37;1677:118;;:::o;1801:222::-;1894:4;1932:2;1921:9;1917:18;1909:26;;1945:71;2013:1;2002:9;1998:17;1989:6;1945:71;:::i;:::-;1801:222;;;;:::o;2029:329::-;2088:6;2137:2;2125:9;2116:7;2112:23;2108:32;2105:119;;;2143:79;;:::i;:::-;2105:119;2263:1;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2234:117;2029:329;;;;:::o;2364:108::-;2441:24;2459:5;2441:24;:::i;:::-;2436:3;2429:37;2364:108;;:::o;2478:::-;2555:24;2573:5;2555:24;:::i;:::-;2550:3;2543:37;2478:108;;:::o;2662:518::-;2811:4;2806:3;2802:14;2900:4;2893:5;2889:16;2883:23;2919:63;2976:4;2971:3;2967:14;2953:12;2919:63;:::i;:::-;2826:166;3081:4;3074:5;3070:16;3064:23;3100:63;3157:4;3152:3;3148:14;3134:12;3100:63;:::i;:::-;3002:171;2780:400;2662:518;;:::o;3186:326::-;3331:4;3369:2;3358:9;3354:18;3346:26;;3382:123;3502:1;3491:9;3487:17;3478:6;3382:123;:::i;:::-;3186:326;;;;:::o;3518:474::-;3586:6;3594;3643:2;3631:9;3622:7;3618:23;3614:32;3611:119;;;3649:79;;:::i;:::-;3611:119;3769:1;3794:53;3839:7;3830:6;3819:9;3815:22;3794:53;:::i;:::-;3784:63;;3740:117;3896:2;3922:53;3967:7;3958:6;3947:9;3943:22;3922:53;:::i;:::-;3912:63;;3867:118;3518:474;;;;;:::o;3998:169::-;4082:11;4116:6;4111:3;4104:19;4156:4;4151:3;4147:14;4132:29;;3998:169;;;;:::o;4173:159::-;4313:11;4309:1;4301:6;4297:14;4290:35;4173:159;:::o;4338:365::-;4480:3;4501:66;4565:1;4560:3;4501:66;:::i;:::-;4494:73;;4576:93;4665:3;4576:93;:::i;:::-;4694:2;4689:3;4685:12;4678:19;;4338:365;;;:::o;4709:419::-;4875:4;4913:2;4902:9;4898:18;4890:26;;4962:9;4956:4;4952:20;4948:1;4937:9;4933:17;4926:47;4990:131;5116:4;4990:131;:::i;:::-;4982:139;;4709:419;;;:::o;5134:99::-;5186:6;5220:5;5214:12;5204:22;;5134:99;;;:::o;5239:246::-;5320:1;5330:113;5344:6;5341:1;5338:13;5330:113;;;5429:1;5424:3;5420:11;5414:18;5410:1;5405:3;5401:11;5394:39;5366:2;5363:1;5359:10;5354:15;;5330:113;;;5477:1;5468:6;5463:3;5459:16;5452:27;5301:184;5239:246;;;:::o;5491:102::-;5532:6;5583:2;5579:7;5574:2;5567:5;5563:14;5559:28;5549:38;;5491:102;;;:::o;5599:377::-;5687:3;5715:39;5748:5;5715:39;:::i;:::-;5770:71;5834:6;5829:3;5770:71;:::i;:::-;5763:78;;5850:65;5908:6;5903:3;5896:4;5889:5;5885:16;5850:65;:::i;:::-;5940:29;5962:6;5940:29;:::i;:::-;5935:3;5931:39;5924:46;;5691:285;5599:377;;;;:::o;5982:313::-;6095:4;6133:2;6122:9;6118:18;6110:26;;6182:9;6176:4;6172:20;6168:1;6157:9;6153:17;6146:47;6210:78;6283:4;6274:6;6210:78;:::i;:::-;6202:86;;5982:313;;;;:::o;6301:118::-;6388:24;6406:5;6388:24;:::i;:::-;6383:3;6376:37;6301:118;;:::o;6425:332::-;6546:4;6584:2;6573:9;6569:18;6561:26;;6597:71;6665:1;6654:9;6650:17;6641:6;6597:71;:::i;:::-;6678:72;6746:2;6735:9;6731:18;6722:6;6678:72;:::i;:::-;6425:332;;;;;:::o;6763:180::-;6811:77;6808:1;6801:88;6908:4;6905:1;6898:15;6932:4;6929:1;6922:15;6949:191;6989:3;7008:20;7026:1;7008:20;:::i;:::-;7003:25;;7042:20;7060:1;7042:20;:::i;:::-;7037:25;;7085:1;7082;7078:9;7071:16;;7106:3;7103:1;7100:10;7097:36;;;7113:18;;:::i;:::-;7097:36;6949:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "486800",
"executionCost": "524",
"totalCost": "487324"
},
"external": {
"MAX()": "395",
"add(uint256,uint256)": "infinite",
"checkLogs(address)": "infinite",
"getCount(address)": "2908",
"increment(address,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 87,
"end": 1650,
"name": "MSTORE",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "ISZERO",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "REVERT",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "POP",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH #[$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "CODECOPY",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "RETURN",
"source": 1
}
],
".data": {
"0": {
".auxdata": "a26469706673582212206a1d4c062958c859389c3441e95606046e5380ebf6288ae60cb0a74e29b34e5564736f6c63430008120033",
".code": [
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 87,
"end": 1650,
"name": "MSTORE",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "ISZERO",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "REVERT",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "POP",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 87,
"end": 1650,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "LT",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 87,
"end": 1650,
"name": "SHR",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "2414F2F1"
},
{
"begin": 87,
"end": 1650,
"name": "EQ",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "3"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "411860AD"
},
{
"begin": 87,
"end": 1650,
"name": "EQ",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "4"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "4F0CD27B"
},
{
"begin": 87,
"end": 1650,
"name": "EQ",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "771602F7"
},
{
"begin": 87,
"end": 1650,
"name": "EQ",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "D49D5181"
},
{
"begin": 87,
"end": 1650,
"name": "EQ",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPI",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 87,
"end": 1650,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 87,
"end": 1650,
"name": "DUP1",
"source": 1
},
{
"begin": 87,
"end": 1650,
"name": "REVERT",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 1072,
"end": 1501,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1072,
"end": 1501,
"name": "DUP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SUB",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "DUP2",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "ADD",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP2",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 1072,
"end": 1501,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 1072,
"end": 1501,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 1072,
"end": 1501,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 1072,
"end": 1501,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1072,
"end": 1501,
"name": "MLOAD",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP2",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1072,
"end": 1501,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 1072,
"end": 1501,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1072,
"end": 1501,
"name": "MLOAD",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "DUP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP2",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SUB",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP1",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "RETURN",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "tag",
"source": 1,
"value": "4"
},
{
"begin": 1507,
"end": 1648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1507,
"end": 1648,
"name": "DUP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SUB",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "DUP2",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "ADD",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP2",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 1507,
"end": 1648,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 1507,
"end": 1648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 1507,
"end": 1648,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1507,
"end": 1648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1507,
"end": 1648,
"name": "MLOAD",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP2",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 1507,
"end": 1648,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 1507,
"end": 1648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1507,
"end": 1648,
"name": "MLOAD",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "DUP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP2",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SUB",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "RETURN",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 873,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 873,
"end": 1018,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 873,
"end": 1018,
"name": "DUP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SUB",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "DUP2",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "ADD",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SWAP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 873,
"end": 1018,
"name": "SWAP2",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SWAP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 873,
"end": 1018,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 873,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 873,
"end": 1018,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 873,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 873,
"end": 1018,
"name": "MLOAD",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 873,
"end": 1018,
"name": "SWAP2",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SWAP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 873,
"end": 1018,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 873,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 873,
"end": 1018,
"name": "MLOAD",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "DUP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SWAP2",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SUB",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "SWAP1",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "RETURN",
"source": 1
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 90,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "DUP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "ADD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 90,
"end": 188,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 90,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 90,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 90,
"end": 188,
"name": "RETURN",
"source": 0
},
{
"begin": 556,
"end": 588,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 556,
"end": 588,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 556,
"end": 588,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 556,
"end": 588,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 556,
"end": 588,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 556,
"end": 588,
"name": "MLOAD",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 556,
"end": 588,
"name": "SWAP2",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "SWAP1",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 556,
"end": 588,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 556,
"end": 588,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 556,
"end": 588,
"name": "MLOAD",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "DUP1",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "SWAP2",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "SUB",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "SWAP1",
"source": 1
},
{
"begin": 556,
"end": 588,
"name": "RETURN",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 1072,
"end": 1501,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1183,
"end": 1190,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1168,
"end": 1172,
"name": "DUP3",
"source": 1
},
{
"begin": 273,
"end": 277,
"name": "DUP1",
"source": 1
},
{
"begin": 259,
"end": 277,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 259,
"end": 277,
"name": "AND",
"source": 1
},
{
"begin": 259,
"end": 269,
"name": "CALLER",
"source": 1
},
{
"begin": 259,
"end": 277,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 259,
"end": 277,
"name": "AND",
"source": 1
},
{
"begin": 259,
"end": 277,
"name": "EQ",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 251,
"end": 291,
"name": "JUMPI",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 251,
"end": 291,
"name": "MLOAD",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH",
"source": 1,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 251,
"end": 291,
"name": "DUP2",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "MSTORE",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 251,
"end": 291,
"name": "ADD",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 251,
"end": 291,
"name": "SWAP1",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 251,
"end": 291,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 251,
"end": 291,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 251,
"end": 291,
"name": "MLOAD",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "DUP1",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "SWAP2",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "SUB",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "SWAP1",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "REVERT",
"source": 1
},
{
"begin": 251,
"end": 291,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 251,
"end": 291,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 586,
"end": 588,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "A"
},
{
"begin": 1210,
"end": 1215,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 1210,
"end": 1222,
"modifierDepth": 1,
"name": "GT",
"source": 1
},
{
"begin": 1210,
"end": 1222,
"modifierDepth": 1,
"name": "ISZERO",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "16"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4D6178696D756D2056616C756520457863656564656400000000000000000000"
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1224,
"end": 1233,
"name": "POP",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "JUMPI",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1202,
"end": 1234,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "REVERT",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1202,
"end": 1234,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1269,
"end": 1273,
"modifierDepth": 1,
"name": "DUP6",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1275,
"end": 1283,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1275,
"end": 1289,
"name": "DUP1",
"source": 1
},
{
"begin": 1284,
"end": 1288,
"modifierDepth": 1,
"name": "DUP8",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1275,
"end": 1289,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1275,
"end": 1295,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1275,
"end": 1295,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1275,
"end": 1295,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1261,
"end": 1296,
"name": "POP",
"source": 1
},
{
"begin": 1244,
"end": 1252,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1244,
"end": 1258,
"name": "DUP1",
"source": 1
},
{
"begin": 1253,
"end": 1257,
"modifierDepth": 1,
"name": "DUP7",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1244,
"end": 1258,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "EXP",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "MUL",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "NOT",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "MUL",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "OR",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SSTORE",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SSTORE",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1244,
"end": 1296,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1329,
"end": 1412,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 1363,
"end": 1371,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1363,
"end": 1377,
"name": "DUP1",
"source": 1
},
{
"begin": 1372,
"end": 1376,
"modifierDepth": 1,
"name": "DUP7",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1363,
"end": 1377,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1363,
"end": 1383,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1363,
"end": 1383,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1363,
"end": 1383,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 1397,
"end": 1402,
"modifierDepth": 1,
"name": "DUP5",
"source": 1
},
{
"begin": 1329,
"end": 1349,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 1329,
"end": 1412,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 1329,
"end": 1412,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 1329,
"end": 1412,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1306,
"end": 1314,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1306,
"end": 1320,
"name": "DUP1",
"source": 1
},
{
"begin": 1315,
"end": 1319,
"modifierDepth": 1,
"name": "DUP7",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1306,
"end": 1320,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1306,
"end": 1326,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1306,
"end": 1326,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1306,
"end": 1412,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1306,
"end": 1412,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1306,
"end": 1412,
"modifierDepth": 1,
"name": "SSTORE",
"source": 1
},
{
"begin": 1306,
"end": 1412,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "F207F93D57DC8E27166B0BA33C5593A593E5863212336203F9CECEBA3B9E6CA7"
},
{
"begin": 1445,
"end": 1449,
"modifierDepth": 1,
"name": "DUP5",
"source": 1
},
{
"begin": 1451,
"end": 1456,
"modifierDepth": 1,
"name": "DUP5",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SWAP3",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1427,
"end": 1457,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1427,
"end": 1457,
"modifierDepth": 1,
"name": "LOG1",
"source": 1
},
{
"begin": 1474,
"end": 1482,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1474,
"end": 1488,
"name": "DUP1",
"source": 1
},
{
"begin": 1483,
"end": 1487,
"modifierDepth": 1,
"name": "DUP6",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1474,
"end": 1488,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1474,
"end": 1494,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1474,
"end": 1494,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 1474,
"end": 1494,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 1467,
"end": 1494,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 1467,
"end": 1494,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "POP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP3",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "SWAP2",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "POP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"name": "POP",
"source": 1
},
{
"begin": 1072,
"end": 1501,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 1507,
"end": 1648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1561,
"end": 1578,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1561,
"end": 1578,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1561,
"end": 1578,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1561,
"end": 1578,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1561,
"end": 1578,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1597,
"end": 1641,
"name": "MLOAD",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "DUP1",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1597,
"end": 1641,
"name": "ADD",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1597,
"end": 1641,
"name": "MSTORE",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "DUP1",
"source": 1
},
{
"begin": 1608,
"end": 1618,
"name": "CALLER",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1597,
"end": 1641,
"name": "AND",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "DUP2",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "MSTORE",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1597,
"end": 1641,
"name": "ADD",
"source": 1
},
{
"begin": 1620,
"end": 1628,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1620,
"end": 1634,
"name": "DUP1",
"source": 1
},
{
"begin": 1629,
"end": 1633,
"name": "DUP6",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1620,
"end": 1634,
"name": "AND",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1620,
"end": 1634,
"name": "AND",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "DUP2",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "MSTORE",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1620,
"end": 1634,
"name": "ADD",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "SWAP1",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "DUP2",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "MSTORE",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1620,
"end": 1634,
"name": "ADD",
"source": 1
},
{
"begin": 1620,
"end": 1634,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1620,
"end": 1634,
"name": "KECCAK256",
"source": 1
},
{
"begin": 1620,
"end": 1640,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 1620,
"end": 1640,
"name": "ADD",
"source": 1
},
{
"begin": 1620,
"end": 1640,
"name": "SLOAD",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "DUP2",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "MSTORE",
"source": 1
},
{
"begin": 1597,
"end": 1641,
"name": "POP",
"source": 1
},
{
"begin": 1590,
"end": 1641,
"name": "SWAP1",
"source": 1
},
{
"begin": 1590,
"end": 1641,
"name": "POP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP2",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "SWAP1",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"name": "POP",
"source": 1
},
{
"begin": 1507,
"end": 1648,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 873,
"end": 1018,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 873,
"end": 1018,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 965,
"end": 972,
"name": "PUSH",
"source": 1,
"value": "0"
},
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment