Skip to content

Instantly share code, notes, and snippets.

@wei3erHase
Created June 16, 2023 16:37
Show Gist options
  • Save wei3erHase/ad6e5520122f8300fffd852001f7d8f0 to your computer and use it in GitHub Desktop.
Save wei3erHase/ad6e5520122f8300fffd852001f7d8f0 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.19+commit.7dd6d404.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity >= 0.4.22 <0.9.0;
library console {
address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);
function _sendLogPayload(bytes memory payload) private view {
uint256 payloadLength = payload.length;
address consoleAddress = CONSOLE_ADDRESS;
assembly {
let payloadStart := add(payload, 32)
let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)
}
}
function log() internal view {
_sendLogPayload(abi.encodeWithSignature("log()"));
}
function logInt(int256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(int256)", p0));
}
function logUint(uint256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function logString(string memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function logBool(bool p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function logAddress(address p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function logBytes(bytes memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes)", p0));
}
function logBytes1(bytes1 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0));
}
function logBytes2(bytes2 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0));
}
function logBytes3(bytes3 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0));
}
function logBytes4(bytes4 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0));
}
function logBytes5(bytes5 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0));
}
function logBytes6(bytes6 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0));
}
function logBytes7(bytes7 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0));
}
function logBytes8(bytes8 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0));
}
function logBytes9(bytes9 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0));
}
function logBytes10(bytes10 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0));
}
function logBytes11(bytes11 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0));
}
function logBytes12(bytes12 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0));
}
function logBytes13(bytes13 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0));
}
function logBytes14(bytes14 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0));
}
function logBytes15(bytes15 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0));
}
function logBytes16(bytes16 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0));
}
function logBytes17(bytes17 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0));
}
function logBytes18(bytes18 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0));
}
function logBytes19(bytes19 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0));
}
function logBytes20(bytes20 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0));
}
function logBytes21(bytes21 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0));
}
function logBytes22(bytes22 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0));
}
function logBytes23(bytes23 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0));
}
function logBytes24(bytes24 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0));
}
function logBytes25(bytes25 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0));
}
function logBytes26(bytes26 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0));
}
function logBytes27(bytes27 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0));
}
function logBytes28(bytes28 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0));
}
function logBytes29(bytes29 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0));
}
function logBytes30(bytes30 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0));
}
function logBytes31(bytes31 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0));
}
function logBytes32(bytes32 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0));
}
function log(uint256 p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256)", p0));
}
function log(string memory p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string)", p0));
}
function log(bool p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool)", p0));
}
function log(address p0) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address)", p0));
}
function log(uint256 p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256)", p0, p1));
}
function log(uint256 p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string)", p0, p1));
}
function log(uint256 p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool)", p0, p1));
}
function log(uint256 p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address)", p0, p1));
}
function log(string memory p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256)", p0, p1));
}
function log(string memory p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1));
}
function log(string memory p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1));
}
function log(string memory p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1));
}
function log(bool p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256)", p0, p1));
}
function log(bool p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1));
}
function log(bool p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1));
}
function log(bool p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1));
}
function log(address p0, uint256 p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256)", p0, p1));
}
function log(address p0, string memory p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1));
}
function log(address p0, bool p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1));
}
function log(address p0, address p1) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1));
}
function log(uint256 p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool)", p0, p1, p2));
}
function log(uint256 p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address)", p0, p1, p2));
}
function log(uint256 p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256)", p0, p1, p2));
}
function log(uint256 p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string)", p0, p1, p2));
}
function log(uint256 p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool)", p0, p1, p2));
}
function log(uint256 p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address)", p0, p1, p2));
}
function log(uint256 p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256)", p0, p1, p2));
}
function log(uint256 p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string)", p0, p1, p2));
}
function log(uint256 p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool)", p0, p1, p2));
}
function log(uint256 p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool)", p0, p1, p2));
}
function log(string memory p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address)", p0, p1, p2));
}
function log(string memory p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,uint256)", p0, p1, p2));
}
function log(string memory p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2));
}
function log(string memory p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2));
}
function log(string memory p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2));
}
function log(string memory p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256)", p0, p1, p2));
}
function log(string memory p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2));
}
function log(string memory p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2));
}
function log(string memory p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2));
}
function log(string memory p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256)", p0, p1, p2));
}
function log(string memory p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2));
}
function log(string memory p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2));
}
function log(string memory p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2));
}
function log(bool p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256)", p0, p1, p2));
}
function log(bool p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string)", p0, p1, p2));
}
function log(bool p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool)", p0, p1, p2));
}
function log(bool p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address)", p0, p1, p2));
}
function log(bool p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256)", p0, p1, p2));
}
function log(bool p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2));
}
function log(bool p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2));
}
function log(bool p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2));
}
function log(bool p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256)", p0, p1, p2));
}
function log(bool p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2));
}
function log(bool p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2));
}
function log(bool p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2));
}
function log(bool p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256)", p0, p1, p2));
}
function log(bool p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2));
}
function log(bool p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2));
}
function log(bool p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2));
}
function log(address p0, uint256 p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256)", p0, p1, p2));
}
function log(address p0, uint256 p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string)", p0, p1, p2));
}
function log(address p0, uint256 p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool)", p0, p1, p2));
}
function log(address p0, uint256 p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address)", p0, p1, p2));
}
function log(address p0, string memory p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256)", p0, p1, p2));
}
function log(address p0, string memory p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2));
}
function log(address p0, string memory p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2));
}
function log(address p0, string memory p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2));
}
function log(address p0, bool p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256)", p0, p1, p2));
}
function log(address p0, bool p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2));
}
function log(address p0, bool p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2));
}
function log(address p0, bool p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2));
}
function log(address p0, address p1, uint256 p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256)", p0, p1, p2));
}
function log(address p0, address p1, string memory p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2));
}
function log(address p0, address p1, bool p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2));
}
function log(address p0, address p1, address p2) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2));
}
function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,uint256,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,string,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,bool,address,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,uint256,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,string,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,bool,address)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,uint256)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,string)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,bool)", p0, p1, p2, p3));
}
function log(uint256 p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(uint256,address,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,uint256,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, uint256 p1, address p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,uint256,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3));
}
function log(string memory p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,string,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,string)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,uint256,address,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,uint256,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint256)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3));
}
function log(bool p0, address p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,string,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,bool,address)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,string)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,bool)", p0, p1, p2, p3));
}
function log(address p0, uint256 p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,uint256,address,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, uint256 p2, address p3) internal view {
_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 view {
_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 view {
_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 view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3));
}
function log(address p0, string memory p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3));
}
function log(address p0, bool p1, address p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, uint256 p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,uint256,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, uint256 p3) internal view {
_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 view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, string memory p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, bool p2, address p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, uint256 p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint256)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, string memory p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, bool p3) internal view {
_sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3));
}
function log(address p0, address p1, address p2, address p3) internal view {
_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": {}
}
]
}
{
"id": "47add75e0d4c38be67c0d71151b64a36",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"interfaces/ISAFEEngine.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity 0.8.19;\n\ninterface ISAFEEngine {\n // --- Events ---\n event ApproveSAFEModification(address _sender, address _account);\n event DenySAFEModification(address _sender, address _account);\n event InitializeCollateralType(bytes32 _cType);\n event ModifyCollateralBalance(bytes32 indexed _cType, address indexed _account, int256 _wad);\n event TransferCollateral(bytes32 indexed _cType, address indexed _src, address indexed _dst, uint256 _wad);\n event TransferInternalCoins(address indexed _src, address indexed _dst, uint256 _rad);\n event ModifySAFECollateralization(\n bytes32 indexed _cType,\n address indexed _safe,\n address _collateralSource,\n address _debtDestination,\n int256 _deltaCollateral,\n int256 _deltaDebt,\n uint256 _lockedCollateral,\n uint256 _generatedDebt,\n uint256 _globalDebt\n );\n event TransferSAFECollateralAndDebt(\n bytes32 indexed _cType,\n address indexed _src,\n address indexed _dst,\n int256 _deltaCollateral,\n int256 _deltaDebt,\n uint256 _srcLockedCollateral,\n uint256 _srcGeneratedDebt,\n uint256 _dstLockedCollateral,\n uint256 _dstGeneratedDebt\n );\n event ConfiscateSAFECollateralAndDebt(\n bytes32 indexed _cType,\n address indexed _safe,\n address _collateralCounterparty,\n address _debtCounterparty,\n int256 _deltaCollateral,\n int256 _deltaDebt,\n uint256 _globalUnbackedDebt\n );\n event SettleDebt(\n address indexed _account,\n uint256 _rad,\n uint256 _debtBalance,\n uint256 _coinBalance,\n uint256 _globalUnbackedDebt,\n uint256 _globalDebt\n );\n event CreateUnbackedDebt(\n address indexed _debtDestination,\n address indexed _coinDestination,\n uint256 _rad,\n uint256 _debtDstBalance,\n uint256 _coinDstBalance,\n uint256 _globalUnbackedDebt,\n uint256 _globalDebt\n );\n event UpdateAccumulatedRate(\n bytes32 indexed _cType, address _surplusDst, int256 _rateMultiplier, uint256 _dstCoinBalance, uint256 _globalDebt\n );\n event UpdateCollateralPrice(bytes32 indexed _cType, uint256 _safetyPrice, uint256 _liquidationPrice);\n\n // --- Errors ---\n error NotSAFEAllowed();\n\n // --- Structs ---\n struct SAFE {\n // Total amount of collateral locked in a SAFE\n uint256 lockedCollateral; // [wad]\n // Total amount of debt generated by a SAFE\n uint256 generatedDebt; // [wad]\n }\n\n struct SAFEEngineParams {\n // Total amount of debt that a single safe can generate\n uint256 safeDebtCeiling; // [wad]\n // Maximum amount of debt that can be issued\n uint256 globalDebtCeiling; // [rad]\n }\n\n struct SAFEEngineCollateralData {\n // Total amount of debt issued by a collateral type\n uint256 debtAmount; // [wad]\n // Accumulated rate of a collateral type\n uint256 accumulatedRate; // [ray]\n // Floor price at which a SAFE is allowed to generate debt\n uint256 safetyPrice; // [ray]\n // Price at which a SAFE gets liquidated\n uint256 liquidationPrice; // [ray]\n }\n\n struct SAFEEngineCollateralParams {\n // Maximum amount of debt that can be generated with this collateral type\n uint256 debtCeiling; // [rad]\n // Minimum amount of debt that must be generated by a SAFE using this collateral\n uint256 debtFloor; // [rad]\n }\n\n function coinBalance(address _coinAddress) external view returns (uint256 _balance);\n function debtBalance(address _coinAddress) external view returns (uint256 _debtBalance);\n function settleDebt(uint256 _rad) external;\n function transferInternalCoins(address _source, address _destination, uint256 _rad) external;\n function transferCollateral(bytes32 _cType, address _source, address _destination, uint256 _wad) external;\n function canModifySAFE(address _safe, address _account) external view returns (bool _allowed);\n function approveSAFEModification(address _account) external;\n function denySAFEModification(address _acount) external;\n function createUnbackedDebt(address _debtDestination, address _coinDestination, uint256 _rad) external;\n\n function params() external view returns (SAFEEngineParams memory _params);\n function cData(bytes32 _cType) external view returns (SAFEEngineCollateralData memory _collateralData);\n function cParams(bytes32 _cType) external view returns (SAFEEngineCollateralParams memory _collateralParams);\n function safes(bytes32 _cType, address _safeAddress) external view returns (SAFE memory _safeData);\n\n function globalDebt() external returns (uint256 _globalDebt);\n function confiscateSAFECollateralAndDebt(\n bytes32 _cType,\n address _safe,\n address _collateralSource,\n address _debtDestination,\n int256 _deltaCollateral,\n int256 _deltaDebt\n ) external;\n function updateAccumulatedRate(bytes32 _cType, address _surplusDst, int256 _rateMultiplier) external;\n function updateCollateralPrice(bytes32 _cType, uint256 _safetyPrice, uint256 _liquidationPrice) external;\n\n function initializeCollateralType(bytes32 _cType) external;\n function modifyCollateralBalance(bytes32 _cType, address _account, int256 _wad) external;\n function modifySAFECollateralization(\n bytes32 _cType,\n address _safe,\n address _collateralSource,\n address _debtDestination,\n int256 /* WAD */ _deltaCollateral,\n int256 /* WAD */ _deltaDebt\n ) external;\n\n function transferSAFECollateralAndDebt(\n bytes32 _cType,\n address _src,\n address _dst,\n int256 /* WAD */ _deltaCollateral,\n int256 /* WAD */ _deltaDebt\n ) external;\n\n function tokenCollateral(bytes32 _cType, address _account) external view returns (uint256 _tokenCollateral);\n function globalUnbackedDebt() external view returns (uint256 _globalUnbackedDebt);\n function safeRights(address _account, address _safe) external view returns (uint256 _safeRights);\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": {
"interfaces/ISAFEEngine.sol": {
"ISAFEEngine": {
"abi": [
{
"inputs": [],
"name": "NotSAFEAllowed",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "ApproveSAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"name": "ConfiscateSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "CreateUnbackedDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "DenySAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "InitializeCollateralType",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "ModifyCollateralBalance",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_lockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_generatedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "ModifySAFECollateralization",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "SettleDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "TransferCollateral",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "TransferInternalCoins",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcGeneratedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstGeneratedDebt",
"type": "uint256"
}
],
"name": "TransferSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstCoinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "UpdateAccumulatedRate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "UpdateCollateralPrice",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "approveSAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "accumulatedRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "liquidationPrice",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralData",
"name": "_collateralData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cParams",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "debtFloor",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralParams",
"name": "_collateralParams",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "canModifySAFE",
"outputs": [
{
"internalType": "bool",
"name": "_allowed",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "coinBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "confiscateSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "createUnbackedDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "debtBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_acount",
"type": "address"
}
],
"name": "denySAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalUnbackedDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "initializeCollateralType",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "modifyCollateralBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "modifySAFECollateralization",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "params",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "safeDebtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "globalDebtCeiling",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineParams",
"name": "_params",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
}
],
"name": "safeRights",
"outputs": [
{
"internalType": "uint256",
"name": "_safeRights",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safeAddress",
"type": "address"
}
],
"name": "safes",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "lockedCollateral",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "generatedDebt",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFE",
"name": "_safeData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "settleDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "tokenCollateral",
"outputs": [
{
"internalType": "uint256",
"name": "_tokenCollateral",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "transferCollateral",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "transferInternalCoins",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "transferSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
}
],
"name": "updateAccumulatedRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"approveSAFEModification(address)": "d94d4208",
"cData(bytes32)": "b6e05a2e",
"cParams(bytes32)": "e54201f6",
"canModifySAFE(address,address)": "50de215d",
"coinBalance(address)": "fabde80c",
"confiscateSAFECollateralAndDebt(bytes32,address,address,address,int256,int256)": "4e14a967",
"createUnbackedDebt(address,address,uint256)": "1b142820",
"debtBalance(address)": "11005b07",
"denySAFEModification(address)": "d49d7867",
"globalDebt()": "8543d5e0",
"globalUnbackedDebt()": "1d2a783d",
"initializeCollateralType(bytes32)": "5e412858",
"modifyCollateralBalance(bytes32,address,int256)": "4a11825e",
"modifySAFECollateralization(bytes32,address,address,address,int256,int256)": "99bec315",
"params()": "cff0ab96",
"safeRights(address,address)": "06eb54df",
"safes(bytes32,address)": "3d422504",
"settleDebt(uint256)": "27a0bb33",
"tokenCollateral(bytes32,address)": "76e0b4ca",
"transferCollateral(bytes32,address,address,uint256)": "4e5111a6",
"transferInternalCoins(address,address,uint256)": "efabcadc",
"transferSAFECollateralAndDebt(bytes32,address,address,int256,int256)": "476bb6ef",
"updateAccumulatedRate(bytes32,address,int256)": "0e9e11d3",
"updateCollateralPrice(bytes32,uint256,uint256)": "1529c3e9"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotSAFEAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"ApproveSAFEModification\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_collateralCounterparty\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_debtCounterparty\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalUnbackedDebt\",\"type\":\"uint256\"}],\"name\":\"ConfiscateSAFECollateralAndDebt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_debtDestination\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_coinDestination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_debtDstBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_coinDstBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalUnbackedDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalDebt\",\"type\":\"uint256\"}],\"name\":\"CreateUnbackedDebt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"DenySAFEModification\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"}],\"name\":\"InitializeCollateralType\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_wad\",\"type\":\"int256\"}],\"name\":\"ModifyCollateralBalance\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_collateralSource\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_debtDestination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lockedCollateral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_generatedDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalDebt\",\"type\":\"uint256\"}],\"name\":\"ModifySAFECollateralization\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_debtBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_coinBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalUnbackedDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalDebt\",\"type\":\"uint256\"}],\"name\":\"SettleDebt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"TransferCollateral\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"}],\"name\":\"TransferInternalCoins\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_srcLockedCollateral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_srcGeneratedDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_dstLockedCollateral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_dstGeneratedDebt\",\"type\":\"uint256\"}],\"name\":\"TransferSAFECollateralAndDebt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_surplusDst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"_rateMultiplier\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_dstCoinBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_globalDebt\",\"type\":\"uint256\"}],\"name\":\"UpdateAccumulatedRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_safetyPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_liquidationPrice\",\"type\":\"uint256\"}],\"name\":\"UpdateCollateralPrice\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"approveSAFEModification\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"}],\"name\":\"cData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"debtAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accumulatedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"safetyPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidationPrice\",\"type\":\"uint256\"}],\"internalType\":\"struct ISAFEEngine.SAFEEngineCollateralData\",\"name\":\"_collateralData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"}],\"name\":\"cParams\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"debtCeiling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"debtFloor\",\"type\":\"uint256\"}],\"internalType\":\"struct ISAFEEngine.SAFEEngineCollateralParams\",\"name\":\"_collateralParams\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"canModifySAFE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_coinAddress\",\"type\":\"address\"}],\"name\":\"coinBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralSource\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_debtDestination\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"}],\"name\":\"confiscateSAFECollateralAndDebt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_debtDestination\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_coinDestination\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"}],\"name\":\"createUnbackedDebt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_coinAddress\",\"type\":\"address\"}],\"name\":\"debtBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_debtBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_acount\",\"type\":\"address\"}],\"name\":\"denySAFEModification\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalDebt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_globalDebt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalUnbackedDebt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_globalUnbackedDebt\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"}],\"name\":\"initializeCollateralType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"_wad\",\"type\":\"int256\"}],\"name\":\"modifyCollateralBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_collateralSource\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_debtDestination\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"}],\"name\":\"modifySAFECollateralization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"params\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"safeDebtCeiling\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"globalDebtCeiling\",\"type\":\"uint256\"}],\"internalType\":\"struct ISAFEEngine.SAFEEngineParams\",\"name\":\"_params\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"safeRights\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_safeRights\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_safeAddress\",\"type\":\"address\"}],\"name\":\"safes\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"lockedCollateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"generatedDebt\",\"type\":\"uint256\"}],\"internalType\":\"struct ISAFEEngine.SAFE\",\"name\":\"_safeData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"}],\"name\":\"settleDebt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"tokenCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenCollateral\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_wad\",\"type\":\"uint256\"}],\"name\":\"transferCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_destination\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rad\",\"type\":\"uint256\"}],\"name\":\"transferInternalCoins\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"_deltaCollateral\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_deltaDebt\",\"type\":\"int256\"}],\"name\":\"transferSAFECollateralAndDebt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_surplusDst\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"_rateMultiplier\",\"type\":\"int256\"}],\"name\":\"updateAccumulatedRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_safetyPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liquidationPrice\",\"type\":\"uint256\"}],\"name\":\"updateCollateralPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"interfaces/ISAFEEngine.sol\":\"ISAFEEngine\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"interfaces/ISAFEEngine.sol\":{\"keccak256\":\"0x307d9b9a63f8bc616d5679113942c68609bd53cf1dc08904d3248f5692590a3c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6c1b196038fba971098910f2665476249805e0f0976c7f55c4f89c17df794969\",\"dweb:/ipfs/QmcKGYC4yU1povvhrAyPpYxCyCSBCfT7mVCgsscyH8yyHN\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"interfaces/ISAFEEngine.sol": {
"ast": {
"absolutePath": "interfaces/ISAFEEngine.sol",
"exportedSymbols": {
"ISAFEEngine": [
378
]
},
"id": 379,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "36:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "ISAFEEngine",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 378,
"linearizedBaseContracts": [
378
],
"name": "ISAFEEngine",
"nameLocation": "71:11:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"eventSelector": "f7db8b086d1ab5e5802059364bff5428c7622c6d4623f9780947306d49277053",
"id": 7,
"name": "ApproveSAFEModification",
"nameLocation": "113:23:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"indexed": false,
"mutability": "mutable",
"name": "_sender",
"nameLocation": "145:7:0",
"nodeType": "VariableDeclaration",
"scope": 7,
"src": "137:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "137:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5,
"indexed": false,
"mutability": "mutable",
"name": "_account",
"nameLocation": "162:8:0",
"nodeType": "VariableDeclaration",
"scope": 7,
"src": "154:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "154:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "136:35:0"
},
"src": "107:65:0"
},
{
"anonymous": false,
"eventSelector": "b1b0368dbc2a1d366ba32be3f455812a3db862c3f52fd3434020a262442b1bb0",
"id": 13,
"name": "DenySAFEModification",
"nameLocation": "181:20:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9,
"indexed": false,
"mutability": "mutable",
"name": "_sender",
"nameLocation": "210:7:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "202:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 8,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "202:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11,
"indexed": false,
"mutability": "mutable",
"name": "_account",
"nameLocation": "227:8:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "219:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 10,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "219:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "201:35:0"
},
"src": "175:62:0"
},
{
"anonymous": false,
"eventSelector": "715b265758bcd4ecd311bede8dcca05c4b5819e0a2a5c4103abd702862ae2c35",
"id": 17,
"name": "InitializeCollateralType",
"nameLocation": "246:24:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15,
"indexed": false,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "279:6:0",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "271:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 14,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "271:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "270:16:0"
},
"src": "240:47:0"
},
{
"anonymous": false,
"eventSelector": "488ac1e40bb6e5ee1f88b998568d1de4cb595e9ce0e0d4e4d4cc4c202053f107",
"id": 25,
"name": "ModifyCollateralBalance",
"nameLocation": "296:23:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "336:6:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "320:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 18,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "320:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21,
"indexed": true,
"mutability": "mutable",
"name": "_account",
"nameLocation": "360:8:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "344:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 20,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "344:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23,
"indexed": false,
"mutability": "mutable",
"name": "_wad",
"nameLocation": "377:4:0",
"nodeType": "VariableDeclaration",
"scope": 25,
"src": "370:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 22,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "370:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "319:63:0"
},
"src": "290:93:0"
},
{
"anonymous": false,
"eventSelector": "b08760a077e71005cf3651212fdbd4028d6ebc8e1844c0475f36000f2756c0d7",
"id": 35,
"name": "TransferCollateral",
"nameLocation": "392:18:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 34,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 27,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "427:6:0",
"nodeType": "VariableDeclaration",
"scope": 35,
"src": "411:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 26,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "411:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 29,
"indexed": true,
"mutability": "mutable",
"name": "_src",
"nameLocation": "451:4:0",
"nodeType": "VariableDeclaration",
"scope": 35,
"src": "435:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 28,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "435:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 31,
"indexed": true,
"mutability": "mutable",
"name": "_dst",
"nameLocation": "473:4:0",
"nodeType": "VariableDeclaration",
"scope": 35,
"src": "457:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 30,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "457:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 33,
"indexed": false,
"mutability": "mutable",
"name": "_wad",
"nameLocation": "487:4:0",
"nodeType": "VariableDeclaration",
"scope": 35,
"src": "479:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 32,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "479:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "410:82:0"
},
"src": "386:107:0"
},
{
"anonymous": false,
"eventSelector": "4cd53b0b754082a31f5a6f3dc965c36d1d901c309830e0b4c17949aff97f0b14",
"id": 43,
"name": "TransferInternalCoins",
"nameLocation": "502:21:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 42,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 37,
"indexed": true,
"mutability": "mutable",
"name": "_src",
"nameLocation": "540:4:0",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "524:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "524:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 39,
"indexed": true,
"mutability": "mutable",
"name": "_dst",
"nameLocation": "562:4:0",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "546:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 38,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "546:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 41,
"indexed": false,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "576:4:0",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "568:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 40,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "568:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "523:58:0"
},
"src": "496:86:0"
},
{
"anonymous": false,
"eventSelector": "182725621f9c0d485fb256f86699c82616bd6e4670325087fd08f643cab7d917",
"id": 63,
"name": "ModifySAFECollateralization",
"nameLocation": "591:27:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 62,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 45,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "640:6:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "624:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 44,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "624:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 47,
"indexed": true,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "668:5:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "652:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 46,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "652:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49,
"indexed": false,
"mutability": "mutable",
"name": "_collateralSource",
"nameLocation": "687:17:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "679:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 48,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "679:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 51,
"indexed": false,
"mutability": "mutable",
"name": "_debtDestination",
"nameLocation": "718:16:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "710:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 50,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "710:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 53,
"indexed": false,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "747:16:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "740:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 52,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "740:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 55,
"indexed": false,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "776:10:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "769:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 54,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "769:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 57,
"indexed": false,
"mutability": "mutable",
"name": "_lockedCollateral",
"nameLocation": "800:17:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "792:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 56,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "792:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 59,
"indexed": false,
"mutability": "mutable",
"name": "_generatedDebt",
"nameLocation": "831:14:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "823:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 58,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "823:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 61,
"indexed": false,
"mutability": "mutable",
"name": "_globalDebt",
"nameLocation": "859:11:0",
"nodeType": "VariableDeclaration",
"scope": 63,
"src": "851:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 60,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "851:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "618:256:0"
},
"src": "585:290:0"
},
{
"anonymous": false,
"eventSelector": "4b49cc19514005253f36d0517c21b92404f50cc0d9e0c070af00b96e296b0835",
"id": 83,
"name": "TransferSAFECollateralAndDebt",
"nameLocation": "884:29:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 82,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 65,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "935:6:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "919:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 64,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "919:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 67,
"indexed": true,
"mutability": "mutable",
"name": "_src",
"nameLocation": "963:4:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "947:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 66,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "947:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 69,
"indexed": true,
"mutability": "mutable",
"name": "_dst",
"nameLocation": "989:4:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "973:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 68,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "973:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 71,
"indexed": false,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "1006:16:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "999:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 70,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "999:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 73,
"indexed": false,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "1035:10:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "1028:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 72,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1028:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 75,
"indexed": false,
"mutability": "mutable",
"name": "_srcLockedCollateral",
"nameLocation": "1059:20:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "1051:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 74,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1051:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 77,
"indexed": false,
"mutability": "mutable",
"name": "_srcGeneratedDebt",
"nameLocation": "1093:17:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "1085:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 76,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1085:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 79,
"indexed": false,
"mutability": "mutable",
"name": "_dstLockedCollateral",
"nameLocation": "1124:20:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "1116:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 78,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1116:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 81,
"indexed": false,
"mutability": "mutable",
"name": "_dstGeneratedDebt",
"nameLocation": "1158:17:0",
"nodeType": "VariableDeclaration",
"scope": 83,
"src": "1150:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 80,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1150:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "913:266:0"
},
"src": "878:302:0"
},
{
"anonymous": false,
"eventSelector": "9bef7b734be54aaed05e906c2ccf923767f44a93d136b674e212ce858a6d031c",
"id": 99,
"name": "ConfiscateSAFECollateralAndDebt",
"nameLocation": "1189:31:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 98,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 85,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "1242:6:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1226:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 84,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1226:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 87,
"indexed": true,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "1270:5:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1254:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 86,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1254:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 89,
"indexed": false,
"mutability": "mutable",
"name": "_collateralCounterparty",
"nameLocation": "1289:23:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1281:31:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 88,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1281:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 91,
"indexed": false,
"mutability": "mutable",
"name": "_debtCounterparty",
"nameLocation": "1326:17:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1318:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 90,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1318:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 93,
"indexed": false,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "1356:16:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1349:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 92,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1349:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 95,
"indexed": false,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "1385:10:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1378:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 94,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1378:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 97,
"indexed": false,
"mutability": "mutable",
"name": "_globalUnbackedDebt",
"nameLocation": "1409:19:0",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "1401:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 96,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1401:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1220:212:0"
},
"src": "1183:250:0"
},
{
"anonymous": false,
"eventSelector": "11000f3497809a546a9de313df16f9ce615e1c65098ba758180e1cac823ed415",
"id": 113,
"name": "SettleDebt",
"nameLocation": "1442:10:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 112,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 101,
"indexed": true,
"mutability": "mutable",
"name": "_account",
"nameLocation": "1474:8:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1458:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 100,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1458:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 103,
"indexed": false,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "1496:4:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1488:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 102,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1488:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 105,
"indexed": false,
"mutability": "mutable",
"name": "_debtBalance",
"nameLocation": "1514:12:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1506:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 104,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1506:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 107,
"indexed": false,
"mutability": "mutable",
"name": "_coinBalance",
"nameLocation": "1540:12:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1532:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 106,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1532:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 109,
"indexed": false,
"mutability": "mutable",
"name": "_globalUnbackedDebt",
"nameLocation": "1566:19:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1558:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 108,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1558:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 111,
"indexed": false,
"mutability": "mutable",
"name": "_globalDebt",
"nameLocation": "1599:11:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1591:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 110,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1591:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1452:162:0"
},
"src": "1436:179:0"
},
{
"anonymous": false,
"eventSelector": "ede723541c3aae745504c3732f6a7161031353ddf05caba15d48b1edd35646b9",
"id": 129,
"name": "CreateUnbackedDebt",
"nameLocation": "1624:18:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 128,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 115,
"indexed": true,
"mutability": "mutable",
"name": "_debtDestination",
"nameLocation": "1664:16:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1648:32:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 114,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1648:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 117,
"indexed": true,
"mutability": "mutable",
"name": "_coinDestination",
"nameLocation": "1702:16:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1686:32:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 116,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1686:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 119,
"indexed": false,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "1732:4:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1724:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 118,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1724:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 121,
"indexed": false,
"mutability": "mutable",
"name": "_debtDstBalance",
"nameLocation": "1750:15:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1742:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 120,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1742:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 123,
"indexed": false,
"mutability": "mutable",
"name": "_coinDstBalance",
"nameLocation": "1779:15:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1771:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 122,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1771:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 125,
"indexed": false,
"mutability": "mutable",
"name": "_globalUnbackedDebt",
"nameLocation": "1808:19:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1800:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 124,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1800:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 127,
"indexed": false,
"mutability": "mutable",
"name": "_globalDebt",
"nameLocation": "1841:11:0",
"nodeType": "VariableDeclaration",
"scope": 129,
"src": "1833:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 126,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1833:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1642:214:0"
},
"src": "1618:239:0"
},
{
"anonymous": false,
"eventSelector": "5b9f54db46fa62a65324e3e9cad8e6fa0deb965ce36134b30377d7edd3a8136f",
"id": 141,
"name": "UpdateAccumulatedRate",
"nameLocation": "1866:21:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 140,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 131,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "1909:6:0",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1893:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 130,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1893:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 133,
"indexed": false,
"mutability": "mutable",
"name": "_surplusDst",
"nameLocation": "1925:11:0",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1917:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 132,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1917:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 135,
"indexed": false,
"mutability": "mutable",
"name": "_rateMultiplier",
"nameLocation": "1945:15:0",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1938:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 134,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1938:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 137,
"indexed": false,
"mutability": "mutable",
"name": "_dstCoinBalance",
"nameLocation": "1970:15:0",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1962:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 136,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1962:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 139,
"indexed": false,
"mutability": "mutable",
"name": "_globalDebt",
"nameLocation": "1995:11:0",
"nodeType": "VariableDeclaration",
"scope": 141,
"src": "1987:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 138,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1987:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1887:123:0"
},
"src": "1860:151:0"
},
{
"anonymous": false,
"eventSelector": "005150d8e1bf341ed4649251c05931a71ffd8f857710db3f20fbab3d7abd6af1",
"id": 149,
"name": "UpdateCollateralPrice",
"nameLocation": "2020:21:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 148,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 143,
"indexed": true,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "2058:6:0",
"nodeType": "VariableDeclaration",
"scope": 149,
"src": "2042:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 142,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2042:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 145,
"indexed": false,
"mutability": "mutable",
"name": "_safetyPrice",
"nameLocation": "2074:12:0",
"nodeType": "VariableDeclaration",
"scope": 149,
"src": "2066:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 144,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2066:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 147,
"indexed": false,
"mutability": "mutable",
"name": "_liquidationPrice",
"nameLocation": "2096:17:0",
"nodeType": "VariableDeclaration",
"scope": 149,
"src": "2088:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 146,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2088:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "2041:73:0"
},
"src": "2014:101:0"
},
{
"errorSelector": "acd4ac29",
"id": 151,
"name": "NotSAFEAllowed",
"nameLocation": "2145:14:0",
"nodeType": "ErrorDefinition",
"parameters": {
"id": 150,
"nodeType": "ParameterList",
"parameters": [],
"src": "2159:2:0"
},
"src": "2139:23:0"
},
{
"canonicalName": "ISAFEEngine.SAFE",
"id": 156,
"members": [
{
"constant": false,
"id": 153,
"mutability": "mutable",
"name": "lockedCollateral",
"nameLocation": "2264:16:0",
"nodeType": "VariableDeclaration",
"scope": 156,
"src": "2256:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 152,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2256:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 155,
"mutability": "mutable",
"name": "generatedDebt",
"nameLocation": "2351:13:0",
"nodeType": "VariableDeclaration",
"scope": 156,
"src": "2343:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 154,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2343:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "SAFE",
"nameLocation": "2194:4:0",
"nodeType": "StructDefinition",
"scope": 378,
"src": "2187:191:0",
"visibility": "public"
},
{
"canonicalName": "ISAFEEngine.SAFEEngineParams",
"id": 161,
"members": [
{
"constant": false,
"id": 158,
"mutability": "mutable",
"name": "safeDebtCeiling",
"nameLocation": "2480:15:0",
"nodeType": "VariableDeclaration",
"scope": 161,
"src": "2472:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 157,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2472:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 160,
"mutability": "mutable",
"name": "globalDebtCeiling",
"nameLocation": "2567:17:0",
"nodeType": "VariableDeclaration",
"scope": 161,
"src": "2559:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 159,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2559:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "SAFEEngineParams",
"nameLocation": "2389:16:0",
"nodeType": "StructDefinition",
"scope": 378,
"src": "2382:216:0",
"visibility": "public"
},
{
"canonicalName": "ISAFEEngine.SAFEEngineCollateralData",
"id": 170,
"members": [
{
"constant": false,
"id": 163,
"mutability": "mutable",
"name": "debtAmount",
"nameLocation": "2704:10:0",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "2696:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 162,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2696:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 165,
"mutability": "mutable",
"name": "accumulatedRate",
"nameLocation": "2782:15:0",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "2774:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 164,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2774:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 167,
"mutability": "mutable",
"name": "safetyPrice",
"nameLocation": "2883:11:0",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "2875:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 166,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2875:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 169,
"mutability": "mutable",
"name": "liquidationPrice",
"nameLocation": "2962:16:0",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "2954:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 168,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2954:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "SAFEEngineCollateralData",
"nameLocation": "2609:24:0",
"nodeType": "StructDefinition",
"scope": 378,
"src": "2602:390:0",
"visibility": "public"
},
{
"canonicalName": "ISAFEEngine.SAFEEngineCollateralParams",
"id": 175,
"members": [
{
"constant": false,
"id": 172,
"mutability": "mutable",
"name": "debtCeiling",
"nameLocation": "3122:11:0",
"nodeType": "VariableDeclaration",
"scope": 175,
"src": "3114:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 171,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3114:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 174,
"mutability": "mutable",
"name": "debtFloor",
"nameLocation": "3241:9:0",
"nodeType": "VariableDeclaration",
"scope": 175,
"src": "3233:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 173,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3233:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "SAFEEngineCollateralParams",
"nameLocation": "3003:26:0",
"nodeType": "StructDefinition",
"scope": 378,
"src": "2996:268:0",
"visibility": "public"
},
{
"functionSelector": "fabde80c",
"id": 182,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "coinBalance",
"nameLocation": "3277:11:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 178,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 177,
"mutability": "mutable",
"name": "_coinAddress",
"nameLocation": "3297:12:0",
"nodeType": "VariableDeclaration",
"scope": 182,
"src": "3289:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 176,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3289:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "3288:22:0"
},
"returnParameters": {
"id": 181,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 180,
"mutability": "mutable",
"name": "_balance",
"nameLocation": "3342:8:0",
"nodeType": "VariableDeclaration",
"scope": 182,
"src": "3334:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 179,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3334:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3333:18:0"
},
"scope": 378,
"src": "3268:84:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "11005b07",
"id": 189,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "debtBalance",
"nameLocation": "3364:11:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 185,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 184,
"mutability": "mutable",
"name": "_coinAddress",
"nameLocation": "3384:12:0",
"nodeType": "VariableDeclaration",
"scope": 189,
"src": "3376:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3376:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "3375:22:0"
},
"returnParameters": {
"id": 188,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 187,
"mutability": "mutable",
"name": "_debtBalance",
"nameLocation": "3429:12:0",
"nodeType": "VariableDeclaration",
"scope": 189,
"src": "3421:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 186,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3421:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3420:22:0"
},
"scope": 378,
"src": "3355:88:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "27a0bb33",
"id": 194,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "settleDebt",
"nameLocation": "3455:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 192,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 191,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "3474:4:0",
"nodeType": "VariableDeclaration",
"scope": 194,
"src": "3466:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3466:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3465:14:0"
},
"returnParameters": {
"id": 193,
"nodeType": "ParameterList",
"parameters": [],
"src": "3488:0:0"
},
"scope": 378,
"src": "3446:43:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "efabcadc",
"id": 203,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferInternalCoins",
"nameLocation": "3501:21:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 201,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 196,
"mutability": "mutable",
"name": "_source",
"nameLocation": "3531:7:0",
"nodeType": "VariableDeclaration",
"scope": 203,
"src": "3523:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 195,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3523:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 198,
"mutability": "mutable",
"name": "_destination",
"nameLocation": "3548:12:0",
"nodeType": "VariableDeclaration",
"scope": 203,
"src": "3540:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 197,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3540:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 200,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "3570:4:0",
"nodeType": "VariableDeclaration",
"scope": 203,
"src": "3562:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 199,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3562:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3522:53:0"
},
"returnParameters": {
"id": 202,
"nodeType": "ParameterList",
"parameters": [],
"src": "3584:0:0"
},
"scope": 378,
"src": "3492:93:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "4e5111a6",
"id": 214,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferCollateral",
"nameLocation": "3597:18:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 212,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 205,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "3624:6:0",
"nodeType": "VariableDeclaration",
"scope": 214,
"src": "3616:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 204,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "3616:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 207,
"mutability": "mutable",
"name": "_source",
"nameLocation": "3640:7:0",
"nodeType": "VariableDeclaration",
"scope": 214,
"src": "3632:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 206,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3632:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 209,
"mutability": "mutable",
"name": "_destination",
"nameLocation": "3657:12:0",
"nodeType": "VariableDeclaration",
"scope": 214,
"src": "3649:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 208,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3649:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 211,
"mutability": "mutable",
"name": "_wad",
"nameLocation": "3679:4:0",
"nodeType": "VariableDeclaration",
"scope": 214,
"src": "3671:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 210,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3671:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3615:69:0"
},
"returnParameters": {
"id": 213,
"nodeType": "ParameterList",
"parameters": [],
"src": "3693:0:0"
},
"scope": 378,
"src": "3588:106:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "50de215d",
"id": 223,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "canModifySAFE",
"nameLocation": "3706:13:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 219,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 216,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "3728:5:0",
"nodeType": "VariableDeclaration",
"scope": 223,
"src": "3720:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 215,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3720:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 218,
"mutability": "mutable",
"name": "_account",
"nameLocation": "3743:8:0",
"nodeType": "VariableDeclaration",
"scope": 223,
"src": "3735:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 217,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3735:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "3719:33:0"
},
"returnParameters": {
"id": 222,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 221,
"mutability": "mutable",
"name": "_allowed",
"nameLocation": "3781:8:0",
"nodeType": "VariableDeclaration",
"scope": 223,
"src": "3776:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 220,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3776:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "3775:15:0"
},
"scope": 378,
"src": "3697:94:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "d94d4208",
"id": 228,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approveSAFEModification",
"nameLocation": "3803:23:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 226,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 225,
"mutability": "mutable",
"name": "_account",
"nameLocation": "3835:8:0",
"nodeType": "VariableDeclaration",
"scope": 228,
"src": "3827:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 224,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3827:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "3826:18:0"
},
"returnParameters": {
"id": 227,
"nodeType": "ParameterList",
"parameters": [],
"src": "3853:0:0"
},
"scope": 378,
"src": "3794:60:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "d49d7867",
"id": 233,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "denySAFEModification",
"nameLocation": "3866:20:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 231,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 230,
"mutability": "mutable",
"name": "_acount",
"nameLocation": "3895:7:0",
"nodeType": "VariableDeclaration",
"scope": 233,
"src": "3887:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 229,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3887:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "3886:17:0"
},
"returnParameters": {
"id": 232,
"nodeType": "ParameterList",
"parameters": [],
"src": "3912:0:0"
},
"scope": 378,
"src": "3857:56:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1b142820",
"id": 242,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "createUnbackedDebt",
"nameLocation": "3925:18:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 240,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 235,
"mutability": "mutable",
"name": "_debtDestination",
"nameLocation": "3952:16:0",
"nodeType": "VariableDeclaration",
"scope": 242,
"src": "3944:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 234,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3944:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 237,
"mutability": "mutable",
"name": "_coinDestination",
"nameLocation": "3978:16:0",
"nodeType": "VariableDeclaration",
"scope": 242,
"src": "3970:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 236,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3970:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 239,
"mutability": "mutable",
"name": "_rad",
"nameLocation": "4004:4:0",
"nodeType": "VariableDeclaration",
"scope": 242,
"src": "3996:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 238,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3996:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3943:66:0"
},
"returnParameters": {
"id": 241,
"nodeType": "ParameterList",
"parameters": [],
"src": "4018:0:0"
},
"scope": 378,
"src": "3916:103:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "cff0ab96",
"id": 248,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "params",
"nameLocation": "4032:6:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 243,
"nodeType": "ParameterList",
"parameters": [],
"src": "4038:2:0"
},
"returnParameters": {
"id": 247,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 246,
"mutability": "mutable",
"name": "_params",
"nameLocation": "4088:7:0",
"nodeType": "VariableDeclaration",
"scope": 248,
"src": "4064:31:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineParams_$161_memory_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineParams"
},
"typeName": {
"id": 245,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 244,
"name": "SAFEEngineParams",
"nameLocations": [
"4064:16:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 161,
"src": "4064:16:0"
},
"referencedDeclaration": 161,
"src": "4064:16:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineParams_$161_storage_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineParams"
}
},
"visibility": "internal"
}
],
"src": "4063:33:0"
},
"scope": 378,
"src": "4023:74:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "b6e05a2e",
"id": 256,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "cData",
"nameLocation": "4109:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 251,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 250,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4123:6:0",
"nodeType": "VariableDeclaration",
"scope": 256,
"src": "4115:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 249,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4115:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "4114:16:0"
},
"returnParameters": {
"id": 255,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 254,
"mutability": "mutable",
"name": "_collateralData",
"nameLocation": "4186:15:0",
"nodeType": "VariableDeclaration",
"scope": 256,
"src": "4154:47:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineCollateralData_$170_memory_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineCollateralData"
},
"typeName": {
"id": 253,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 252,
"name": "SAFEEngineCollateralData",
"nameLocations": [
"4154:24:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 170,
"src": "4154:24:0"
},
"referencedDeclaration": 170,
"src": "4154:24:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineCollateralData_$170_storage_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineCollateralData"
}
},
"visibility": "internal"
}
],
"src": "4153:49:0"
},
"scope": 378,
"src": "4100:103:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "e54201f6",
"id": 264,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "cParams",
"nameLocation": "4215:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 259,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 258,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4231:6:0",
"nodeType": "VariableDeclaration",
"scope": 264,
"src": "4223:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 257,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4223:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "4222:16:0"
},
"returnParameters": {
"id": 263,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 262,
"mutability": "mutable",
"name": "_collateralParams",
"nameLocation": "4296:17:0",
"nodeType": "VariableDeclaration",
"scope": 264,
"src": "4262:51:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineCollateralParams_$175_memory_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineCollateralParams"
},
"typeName": {
"id": 261,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 260,
"name": "SAFEEngineCollateralParams",
"nameLocations": [
"4262:26:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 175,
"src": "4262:26:0"
},
"referencedDeclaration": 175,
"src": "4262:26:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFEEngineCollateralParams_$175_storage_ptr",
"typeString": "struct ISAFEEngine.SAFEEngineCollateralParams"
}
},
"visibility": "internal"
}
],
"src": "4261:53:0"
},
"scope": 378,
"src": "4206:109:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "3d422504",
"id": 274,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safes",
"nameLocation": "4327:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 269,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 266,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4341:6:0",
"nodeType": "VariableDeclaration",
"scope": 274,
"src": "4333:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 265,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4333:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 268,
"mutability": "mutable",
"name": "_safeAddress",
"nameLocation": "4357:12:0",
"nodeType": "VariableDeclaration",
"scope": 274,
"src": "4349:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 267,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4349:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "4332:38:0"
},
"returnParameters": {
"id": 273,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 272,
"mutability": "mutable",
"name": "_safeData",
"nameLocation": "4406:9:0",
"nodeType": "VariableDeclaration",
"scope": 274,
"src": "4394:21:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFE_$156_memory_ptr",
"typeString": "struct ISAFEEngine.SAFE"
},
"typeName": {
"id": 271,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 270,
"name": "SAFE",
"nameLocations": [
"4394:4:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 156,
"src": "4394:4:0"
},
"referencedDeclaration": 156,
"src": "4394:4:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_SAFE_$156_storage_ptr",
"typeString": "struct ISAFEEngine.SAFE"
}
},
"visibility": "internal"
}
],
"src": "4393:23:0"
},
"scope": 378,
"src": "4318:99:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "8543d5e0",
"id": 279,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "globalDebt",
"nameLocation": "4430:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 275,
"nodeType": "ParameterList",
"parameters": [],
"src": "4440:2:0"
},
"returnParameters": {
"id": 278,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 277,
"mutability": "mutable",
"name": "_globalDebt",
"nameLocation": "4469:11:0",
"nodeType": "VariableDeclaration",
"scope": 279,
"src": "4461:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 276,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4461:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "4460:21:0"
},
"scope": 378,
"src": "4421:61:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "4e14a967",
"id": 294,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "confiscateSAFECollateralAndDebt",
"nameLocation": "4494:31:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 292,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 281,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4539:6:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4531:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 280,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4531:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 283,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "4559:5:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4551:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 282,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4551:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 285,
"mutability": "mutable",
"name": "_collateralSource",
"nameLocation": "4578:17:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4570:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 284,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4570:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 287,
"mutability": "mutable",
"name": "_debtDestination",
"nameLocation": "4609:16:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4601:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 286,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4601:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 289,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "4638:16:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4631:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 288,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "4631:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 291,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "4667:10:0",
"nodeType": "VariableDeclaration",
"scope": 294,
"src": "4660:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 290,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "4660:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "4525:156:0"
},
"returnParameters": {
"id": 293,
"nodeType": "ParameterList",
"parameters": [],
"src": "4690:0:0"
},
"scope": 378,
"src": "4485:206:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "0e9e11d3",
"id": 303,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "updateAccumulatedRate",
"nameLocation": "4703:21:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 301,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 296,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4733:6:0",
"nodeType": "VariableDeclaration",
"scope": 303,
"src": "4725:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 295,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4725:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 298,
"mutability": "mutable",
"name": "_surplusDst",
"nameLocation": "4749:11:0",
"nodeType": "VariableDeclaration",
"scope": 303,
"src": "4741:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 297,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4741:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 300,
"mutability": "mutable",
"name": "_rateMultiplier",
"nameLocation": "4769:15:0",
"nodeType": "VariableDeclaration",
"scope": 303,
"src": "4762:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 299,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "4762:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "4724:61:0"
},
"returnParameters": {
"id": 302,
"nodeType": "ParameterList",
"parameters": [],
"src": "4794:0:0"
},
"scope": 378,
"src": "4694:101:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1529c3e9",
"id": 312,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "updateCollateralPrice",
"nameLocation": "4807:21:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 310,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 305,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4837:6:0",
"nodeType": "VariableDeclaration",
"scope": 312,
"src": "4829:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 304,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4829:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 307,
"mutability": "mutable",
"name": "_safetyPrice",
"nameLocation": "4853:12:0",
"nodeType": "VariableDeclaration",
"scope": 312,
"src": "4845:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 306,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4845:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 309,
"mutability": "mutable",
"name": "_liquidationPrice",
"nameLocation": "4875:17:0",
"nodeType": "VariableDeclaration",
"scope": 312,
"src": "4867:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 308,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4867:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "4828:65:0"
},
"returnParameters": {
"id": 311,
"nodeType": "ParameterList",
"parameters": [],
"src": "4902:0:0"
},
"scope": 378,
"src": "4798:105:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5e412858",
"id": 317,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "initializeCollateralType",
"nameLocation": "4916:24:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 315,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 314,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "4949:6:0",
"nodeType": "VariableDeclaration",
"scope": 317,
"src": "4941:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 313,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4941:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "4940:16:0"
},
"returnParameters": {
"id": 316,
"nodeType": "ParameterList",
"parameters": [],
"src": "4965:0:0"
},
"scope": 378,
"src": "4907:59:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "4a11825e",
"id": 326,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "modifyCollateralBalance",
"nameLocation": "4978:23:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 324,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 319,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "5010:6:0",
"nodeType": "VariableDeclaration",
"scope": 326,
"src": "5002:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 318,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5002:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 321,
"mutability": "mutable",
"name": "_account",
"nameLocation": "5026:8:0",
"nodeType": "VariableDeclaration",
"scope": 326,
"src": "5018:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 320,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5018:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 323,
"mutability": "mutable",
"name": "_wad",
"nameLocation": "5043:4:0",
"nodeType": "VariableDeclaration",
"scope": 326,
"src": "5036:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 322,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "5036:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "5001:47:0"
},
"returnParameters": {
"id": 325,
"nodeType": "ParameterList",
"parameters": [],
"src": "5057:0:0"
},
"scope": 378,
"src": "4969:89:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "99bec315",
"id": 341,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "modifySAFECollateralization",
"nameLocation": "5070:27:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 339,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 328,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "5111:6:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5103:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 327,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5103:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 330,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "5131:5:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5123:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 329,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5123:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 332,
"mutability": "mutable",
"name": "_collateralSource",
"nameLocation": "5150:17:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5142:25:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 331,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5142:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 334,
"mutability": "mutable",
"name": "_debtDestination",
"nameLocation": "5181:16:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5173:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 333,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5173:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 336,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "5220:16:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5203:33:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 335,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "5203:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 338,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "5259:10:0",
"nodeType": "VariableDeclaration",
"scope": 341,
"src": "5242:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 337,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "5242:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "5097:176:0"
},
"returnParameters": {
"id": 340,
"nodeType": "ParameterList",
"parameters": [],
"src": "5282:0:0"
},
"scope": 378,
"src": "5061:222:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "476bb6ef",
"id": 354,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferSAFECollateralAndDebt",
"nameLocation": "5296:29:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 352,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 343,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "5339:6:0",
"nodeType": "VariableDeclaration",
"scope": 354,
"src": "5331:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 342,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5331:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 345,
"mutability": "mutable",
"name": "_src",
"nameLocation": "5359:4:0",
"nodeType": "VariableDeclaration",
"scope": 354,
"src": "5351:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 344,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5351:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 347,
"mutability": "mutable",
"name": "_dst",
"nameLocation": "5377:4:0",
"nodeType": "VariableDeclaration",
"scope": 354,
"src": "5369:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 346,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5369:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 349,
"mutability": "mutable",
"name": "_deltaCollateral",
"nameLocation": "5404:16:0",
"nodeType": "VariableDeclaration",
"scope": 354,
"src": "5387:33:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 348,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "5387:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 351,
"mutability": "mutable",
"name": "_deltaDebt",
"nameLocation": "5443:10:0",
"nodeType": "VariableDeclaration",
"scope": 354,
"src": "5426:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 350,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "5426:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "5325:132:0"
},
"returnParameters": {
"id": 353,
"nodeType": "ParameterList",
"parameters": [],
"src": "5466:0:0"
},
"scope": 378,
"src": "5287:180:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "76e0b4ca",
"id": 363,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "tokenCollateral",
"nameLocation": "5480:15:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 359,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 356,
"mutability": "mutable",
"name": "_cType",
"nameLocation": "5504:6:0",
"nodeType": "VariableDeclaration",
"scope": 363,
"src": "5496:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 355,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5496:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 358,
"mutability": "mutable",
"name": "_account",
"nameLocation": "5520:8:0",
"nodeType": "VariableDeclaration",
"scope": 363,
"src": "5512:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 357,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5512:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "5495:34:0"
},
"returnParameters": {
"id": 362,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 361,
"mutability": "mutable",
"name": "_tokenCollateral",
"nameLocation": "5561:16:0",
"nodeType": "VariableDeclaration",
"scope": 363,
"src": "5553:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 360,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "5553:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "5552:26:0"
},
"scope": 378,
"src": "5471:108:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1d2a783d",
"id": 368,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "globalUnbackedDebt",
"nameLocation": "5591:18:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 364,
"nodeType": "ParameterList",
"parameters": [],
"src": "5609:2:0"
},
"returnParameters": {
"id": 367,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 366,
"mutability": "mutable",
"name": "_globalUnbackedDebt",
"nameLocation": "5643:19:0",
"nodeType": "VariableDeclaration",
"scope": 368,
"src": "5635:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 365,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "5635:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "5634:29:0"
},
"scope": 378,
"src": "5582:82:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "06eb54df",
"id": 377,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeRights",
"nameLocation": "5676:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 373,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 370,
"mutability": "mutable",
"name": "_account",
"nameLocation": "5695:8:0",
"nodeType": "VariableDeclaration",
"scope": 377,
"src": "5687:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 369,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5687:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 372,
"mutability": "mutable",
"name": "_safe",
"nameLocation": "5713:5:0",
"nodeType": "VariableDeclaration",
"scope": 377,
"src": "5705:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 371,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "5705:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "5686:33:0"
},
"returnParameters": {
"id": 376,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 375,
"mutability": "mutable",
"name": "_safeRights",
"nameLocation": "5751:11:0",
"nodeType": "VariableDeclaration",
"scope": 377,
"src": "5743:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 374,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "5743:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "5742:21:0"
},
"scope": 378,
"src": "5667:97:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 379,
"src": "61:5705:0",
"usedErrors": [
151
]
}
],
"src": "36:5731:0"
},
"id": 0
}
}
}
}
{
"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": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"approveSAFEModification(address)": "d94d4208",
"cData(bytes32)": "b6e05a2e",
"cParams(bytes32)": "e54201f6",
"canModifySAFE(address,address)": "50de215d",
"coinBalance(address)": "fabde80c",
"confiscateSAFECollateralAndDebt(bytes32,address,address,address,int256,int256)": "4e14a967",
"createUnbackedDebt(address,address,uint256)": "1b142820",
"debtBalance(address)": "11005b07",
"denySAFEModification(address)": "d49d7867",
"globalDebt()": "8543d5e0",
"globalUnbackedDebt()": "1d2a783d",
"initializeCollateralType(bytes32)": "5e412858",
"modifyCollateralBalance(bytes32,address,int256)": "4a11825e",
"modifySAFECollateralization(bytes32,address,address,address,int256,int256)": "99bec315",
"params()": "cff0ab96",
"safeRights(address,address)": "06eb54df",
"safes(bytes32,address)": "3d422504",
"settleDebt(uint256)": "27a0bb33",
"tokenCollateral(bytes32,address)": "76e0b4ca",
"transferCollateral(bytes32,address,address,uint256)": "4e5111a6",
"transferInternalCoins(address,address,uint256)": "efabcadc",
"transferSAFECollateralAndDebt(bytes32,address,address,int256,int256)": "476bb6ef",
"updateAccumulatedRate(bytes32,address,int256)": "0e9e11d3",
"updateCollateralPrice(bytes32,uint256,uint256)": "1529c3e9"
}
},
"abi": [
{
"inputs": [],
"name": "NotSAFEAllowed",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "ApproveSAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"name": "ConfiscateSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "CreateUnbackedDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "DenySAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "InitializeCollateralType",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "ModifyCollateralBalance",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_lockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_generatedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "ModifySAFECollateralization",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "SettleDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "TransferCollateral",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "TransferInternalCoins",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcGeneratedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstGeneratedDebt",
"type": "uint256"
}
],
"name": "TransferSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstCoinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "UpdateAccumulatedRate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "UpdateCollateralPrice",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "approveSAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "accumulatedRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "liquidationPrice",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralData",
"name": "_collateralData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cParams",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "debtFloor",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralParams",
"name": "_collateralParams",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "canModifySAFE",
"outputs": [
{
"internalType": "bool",
"name": "_allowed",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "coinBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "confiscateSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "createUnbackedDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "debtBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_acount",
"type": "address"
}
],
"name": "denySAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalUnbackedDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "initializeCollateralType",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "modifyCollateralBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "modifySAFECollateralization",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "params",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "safeDebtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "globalDebtCeiling",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineParams",
"name": "_params",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
}
],
"name": "safeRights",
"outputs": [
{
"internalType": "uint256",
"name": "_safeRights",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safeAddress",
"type": "address"
}
],
"name": "safes",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "lockedCollateral",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "generatedDebt",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFE",
"name": "_safeData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "settleDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "tokenCollateral",
"outputs": [
{
"internalType": "uint256",
"name": "_tokenCollateral",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "transferCollateral",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "transferInternalCoins",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "transferSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
}
],
"name": "updateAccumulatedRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "NotSAFEAllowed",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "ApproveSAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtCounterparty",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"name": "ConfiscateSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinDstBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "CreateUnbackedDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "DenySAFEModification",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "InitializeCollateralType",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "ModifyCollateralBalance",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_lockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_generatedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "ModifySAFECollateralization",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_coinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "SettleDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "TransferCollateral",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "TransferInternalCoins",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_srcGeneratedDebt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstLockedCollateral",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstGeneratedDebt",
"type": "uint256"
}
],
"name": "TransferSAFECollateralAndDebt",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_dstCoinBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"name": "UpdateAccumulatedRate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "UpdateCollateralPrice",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "approveSAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "accumulatedRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "liquidationPrice",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralData",
"name": "_collateralData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "cParams",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "debtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "debtFloor",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineCollateralParams",
"name": "_collateralParams",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "canModifySAFE",
"outputs": [
{
"internalType": "bool",
"name": "_allowed",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "coinBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "confiscateSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "address",
"name": "_coinDestination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "createUnbackedDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_coinAddress",
"type": "address"
}
],
"name": "debtBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_debtBalance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_acount",
"type": "address"
}
],
"name": "denySAFEModification",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalDebt",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "globalUnbackedDebt",
"outputs": [
{
"internalType": "uint256",
"name": "_globalUnbackedDebt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "initializeCollateralType",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "int256",
"name": "_wad",
"type": "int256"
}
],
"name": "modifyCollateralBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
},
{
"internalType": "address",
"name": "_collateralSource",
"type": "address"
},
{
"internalType": "address",
"name": "_debtDestination",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "modifySAFECollateralization",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "params",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "safeDebtCeiling",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "globalDebtCeiling",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFEEngineParams",
"name": "_params",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{
"internalType": "address",
"name": "_safe",
"type": "address"
}
],
"name": "safeRights",
"outputs": [
{
"internalType": "uint256",
"name": "_safeRights",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_safeAddress",
"type": "address"
}
],
"name": "safes",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "lockedCollateral",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "generatedDebt",
"type": "uint256"
}
],
"internalType": "struct ISAFEEngine.SAFE",
"name": "_safeData",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "settleDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "tokenCollateral",
"outputs": [
{
"internalType": "uint256",
"name": "_tokenCollateral",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_wad",
"type": "uint256"
}
],
"name": "transferCollateral",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_source",
"type": "address"
},
{
"internalType": "address",
"name": "_destination",
"type": "address"
},
{
"internalType": "uint256",
"name": "_rad",
"type": "uint256"
}
],
"name": "transferInternalCoins",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_src",
"type": "address"
},
{
"internalType": "address",
"name": "_dst",
"type": "address"
},
{
"internalType": "int256",
"name": "_deltaCollateral",
"type": "int256"
},
{
"internalType": "int256",
"name": "_deltaDebt",
"type": "int256"
}
],
"name": "transferSAFECollateralAndDebt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_surplusDst",
"type": "address"
},
{
"internalType": "int256",
"name": "_rateMultiplier",
"type": "int256"
}
],
"name": "updateAccumulatedRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_safetyPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_liquidationPrice",
"type": "uint256"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"interfaces/ISAFEEngine.sol": "ISAFEEngine"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"interfaces/ISAFEEngine.sol": {
"keccak256": "0x307d9b9a63f8bc616d5679113942c68609bd53cf1dc08904d3248f5692590a3c",
"license": "GPL-3.0",
"urls": [
"bzz-raw://6c1b196038fba971098910f2665476249805e0f0976c7f55c4f89c17df794969",
"dweb:/ipfs/QmcKGYC4yU1povvhrAyPpYxCyCSBCfT7mVCgsscyH8yyHN"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.19;
interface ISAFEEngine {
// --- Events ---
event ApproveSAFEModification(address _sender, address _account);
event DenySAFEModification(address _sender, address _account);
event InitializeCollateralType(bytes32 _cType);
event ModifyCollateralBalance(bytes32 indexed _cType, address indexed _account, int256 _wad);
event TransferCollateral(bytes32 indexed _cType, address indexed _src, address indexed _dst, uint256 _wad);
event TransferInternalCoins(address indexed _src, address indexed _dst, uint256 _rad);
event ModifySAFECollateralization(
bytes32 indexed _cType,
address indexed _safe,
address _collateralSource,
address _debtDestination,
int256 _deltaCollateral,
int256 _deltaDebt,
uint256 _lockedCollateral,
uint256 _generatedDebt,
uint256 _globalDebt
);
event TransferSAFECollateralAndDebt(
bytes32 indexed _cType,
address indexed _src,
address indexed _dst,
int256 _deltaCollateral,
int256 _deltaDebt,
uint256 _srcLockedCollateral,
uint256 _srcGeneratedDebt,
uint256 _dstLockedCollateral,
uint256 _dstGeneratedDebt
);
event ConfiscateSAFECollateralAndDebt(
bytes32 indexed _cType,
address indexed _safe,
address _collateralCounterparty,
address _debtCounterparty,
int256 _deltaCollateral,
int256 _deltaDebt,
uint256 _globalUnbackedDebt
);
event SettleDebt(
address indexed _account,
uint256 _rad,
uint256 _debtBalance,
uint256 _coinBalance,
uint256 _globalUnbackedDebt,
uint256 _globalDebt
);
event CreateUnbackedDebt(
address indexed _debtDestination,
address indexed _coinDestination,
uint256 _rad,
uint256 _debtDstBalance,
uint256 _coinDstBalance,
uint256 _globalUnbackedDebt,
uint256 _globalDebt
);
event UpdateAccumulatedRate(
bytes32 indexed _cType, address _surplusDst, int256 _rateMultiplier, uint256 _dstCoinBalance, uint256 _globalDebt
);
event UpdateCollateralPrice(bytes32 indexed _cType, uint256 _safetyPrice, uint256 _liquidationPrice);
// --- Errors ---
error NotSAFEAllowed();
// --- Structs ---
struct SAFE {
// Total amount of collateral locked in a SAFE
uint256 lockedCollateral; // [wad]
// Total amount of debt generated by a SAFE
uint256 generatedDebt; // [wad]
}
struct SAFEEngineParams {
// Total amount of debt that a single safe can generate
uint256 safeDebtCeiling; // [wad]
// Maximum amount of debt that can be issued
uint256 globalDebtCeiling; // [rad]
}
struct SAFEEngineCollateralData {
// Total amount of debt issued by a collateral type
uint256 debtAmount; // [wad]
// Accumulated rate of a collateral type
uint256 accumulatedRate; // [ray]
// Floor price at which a SAFE is allowed to generate debt
uint256 safetyPrice; // [ray]
// Price at which a SAFE gets liquidated
uint256 liquidationPrice; // [ray]
}
struct SAFEEngineCollateralParams {
// Maximum amount of debt that can be generated with this collateral type
uint256 debtCeiling; // [rad]
// Minimum amount of debt that must be generated by a SAFE using this collateral
uint256 debtFloor; // [rad]
}
function coinBalance(address _coinAddress) external view returns (uint256 _balance);
function debtBalance(address _coinAddress) external view returns (uint256 _debtBalance);
function settleDebt(uint256 _rad) external;
function transferInternalCoins(address _source, address _destination, uint256 _rad) external;
function transferCollateral(bytes32 _cType, address _source, address _destination, uint256 _wad) external;
function canModifySAFE(address _safe, address _account) external view returns (bool _allowed);
function approveSAFEModification(address _account) external;
function denySAFEModification(address _acount) external;
function createUnbackedDebt(address _debtDestination, address _coinDestination, uint256 _rad) external;
function params() external view returns (SAFEEngineParams memory _params);
function cData(bytes32 _cType) external view returns (SAFEEngineCollateralData memory _collateralData);
function cParams(bytes32 _cType) external view returns (SAFEEngineCollateralParams memory _collateralParams);
function safes(bytes32 _cType, address _safeAddress) external view returns (SAFE memory _safeData);
function globalDebt() external returns (uint256 _globalDebt);
function confiscateSAFECollateralAndDebt(
bytes32 _cType,
address _safe,
address _collateralSource,
address _debtDestination,
int256 _deltaCollateral,
int256 _deltaDebt
) external;
function updateAccumulatedRate(bytes32 _cType, address _surplusDst, int256 _rateMultiplier) external;
function updateCollateralPrice(bytes32 _cType, uint256 _safetyPrice, uint256 _liquidationPrice) external;
function initializeCollateralType(bytes32 _cType) external;
function modifyCollateralBalance(bytes32 _cType, address _account, int256 _wad) external;
function modifySAFECollateralization(
bytes32 _cType,
address _safe,
address _collateralSource,
address _debtDestination,
int256 /* WAD */ _deltaCollateral,
int256 /* WAD */ _deltaDebt
) external;
function transferSAFECollateralAndDebt(
bytes32 _cType,
address _src,
address _dst,
int256 /* WAD */ _deltaCollateral,
int256 /* WAD */ _deltaDebt
) external;
function tokenCollateral(bytes32 _cType, address _account) external view returns (uint256 _tokenCollateral);
function globalUnbackedDebt() external view returns (uint256 _globalUnbackedDebt);
function safeRights(address _account, address _safe) external view returns (uint256 _safeRights);
}
// SPDX-License-Identifier: UNLICENSED
interface Proxy {
function owner() external view returns (address);
}
contract CallProxy {
function getOwner() external view returns (address) {
return Proxy(0xcd7c8a41fb890e257a1022d1dc53ab74afe4ff6a).owner();
}
}
{
"id": "20e4a60035311aa28f8be3275da2d68e",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"scripts/TestSnippet.sol": {
"content": "contract Test {\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": {
"scripts/TestSnippet.sol": {
"Test": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"scripts/TestSnippet.sol\":0:22 contract Test {... */\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 /* \"scripts/TestSnippet.sol\":0:22 contract Test {... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xA5 0xE5 PUSH3 0xAE74B3 0xF 0xA8 0xAA 0xDA 0xDA BLOCKHASH GAS 0xAA PUSH2 0xA73D 0xB0 PUSH16 0xCB45F98CAC52EC711F0DD07064736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "0:22:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xA5 0xE5 PUSH3 0xAE74B3 0xF 0xA8 0xAA 0xDA 0xDA BLOCKHASH GAS 0xAA PUSH2 0xA73D 0xB0 PUSH16 0xCB45F98CAC52EC711F0DD07064736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "0:22:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"legacyAssembly": {
".code": [
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 0,
"end": 22,
"name": "MSTORE",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "DUP1",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "ISZERO",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 0,
"end": 22,
"name": "JUMPI",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 0,
"end": 22,
"name": "DUP1",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "REVERT",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 0,
"end": 22,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "POP",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 0,
"end": 22,
"name": "DUP1",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 0,
"end": 22,
"name": "CODECOPY",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 0,
"end": 22,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033",
".code": [
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 0,
"end": 22,
"name": "MSTORE",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 0,
"end": 22,
"name": "DUP1",
"source": 0
},
{
"begin": 0,
"end": 22,
"name": "REVERT",
"source": 0
}
]
}
},
"sourceList": [
"scripts/TestSnippet.sol",
"#utility.yul"
]
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/TestSnippet.sol\":\"Test\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/TestSnippet.sol\":{\"keccak256\":\"0x456b14b0bd128763dac3cf52184563a96a8f9b95f545e36d49014fc70db7c0f9\",\"urls\":[\"bzz-raw://5f174b88a4f7fa36ce82a2e4b22ec8485aa537a8fc978a95a48042fc1f5fa74a\",\"dweb:/ipfs/QmWbF5Pbsa9gpA6GnAjf533NtpBBZCHZNUdVCV6wzvhgMf\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> scripts/TestSnippet.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "scripts/TestSnippet.sol",
"start": -1
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "3420",
"formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.19;\"\n--> scripts/TestSnippet.sol\n\n",
"message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.19;\"",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "scripts/TestSnippet.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"scripts/TestSnippet.sol": {
"ast": {
"absolutePath": "scripts/TestSnippet.sol",
"exportedSymbols": {
"Test": [
1
]
},
"id": 2,
"nodeType": "SourceUnit",
"nodes": [
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Test",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 1,
"linearizedBaseContracts": [
1
],
"name": "Test",
"nameLocation": "9:4:0",
"nodeType": "ContractDefinition",
"nodes": [],
"scope": 2,
"src": "0:22:0",
"usedErrors": []
}
],
"src": "0:22:0"
},
"id": 0
}
}
}
}
{
"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": "608060405234801561001057600080fd5b506106ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806354f6127f146100465780637c9c347214610062578063ad5c464814610080575b600080fd5b610060600480360381019061005b91906102ad565b61009e565b005b61006a610220565b60405161007791906102e9565b60405180910390f35b610088610244565b60405161009591906102e9565b60405180910390f35b600073dfd2d62b3ec9bf6f52547c570b5ac2136d9756e473ffffffffffffffffffffffffffffffffffffffff1663b6e05a2e836040518263ffffffff1660e01b81526004016100ed91906102e9565b608060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012e9190610443565b90507f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef7816000015160405161016391906104dc565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef7816020015160405161019e9190610556565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef781604001516040516101d991906105d0565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef78160600151604051610214919061064a565b60405180910390a15050565b7f4f5000000000000000000000000000000000000000000000000000000000000081565b7f574554480000000000000000000000000000000000000000000000000000000081565b6000604051905090565b600080fd5b6000819050919050565b61028a81610277565b811461029557600080fd5b50565b6000813590506102a781610281565b92915050565b6000602082840312156102c3576102c2610272565b5b60006102d184828501610298565b91505092915050565b6102e381610277565b82525050565b60006020820190506102fe60008301846102da565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61035282610309565b810181811067ffffffffffffffff821117156103715761037061031a565b5b80604052505050565b6000610384610268565b90506103908282610349565b919050565b6000819050919050565b6103a881610395565b81146103b357600080fd5b50565b6000815190506103c58161039f565b92915050565b6000608082840312156103e1576103e0610304565b5b6103eb608061037a565b905060006103fb848285016103b6565b600083015250602061040f848285016103b6565b6020830152506040610423848285016103b6565b6040830152506060610437848285016103b6565b60608301525092915050565b60006080828403121561045957610458610272565b5b6000610467848285016103cb565b91505092915050565b600082825260208201905092915050565b7f64656274416d6f756e7400000000000000000000000000000000000000000000600082015250565b60006104b7600a83610470565b91506104c282610481565b602082019050919050565b6104d681610395565b82525050565b600060408201905081810360008301526104f5816104aa565b905061050460208301846104cd565b92915050565b7f616363756d756c61746564526174650000000000000000000000000000000000600082015250565b6000610540600f83610470565b915061054b8261050a565b602082019050919050565b6000604082019050818103600083015261056f81610533565b905061057e60208301846104cd565b92915050565b7f7361666574795072696365000000000000000000000000000000000000000000600082015250565b60006105ba600b83610470565b91506105c582610584565b602082019050919050565b600060408201905081810360008301526105e9816105ad565b90506105f860208301846104cd565b92915050565b7f6c69717569646174696f6e507269636500000000000000000000000000000000600082015250565b6000610634601083610470565b915061063f826105fe565b602082019050919050565b6000604082019050818103600083015261066381610627565b905061067260208301846104cd565b9291505056fea2646970667358221220b359b5cd1be97100708f5cfd1570723687233996078dedf6e57e1a1663021be564736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6AE 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x54F6127F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x7C9C3472 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xAD5C4648 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x2AD JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x220 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x244 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH20 0xDFD2D62B3EC9BF6F52547C570B5AC2136D9756E4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB6E05A2E DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xED SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x80 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x443 JUMP JUMPDEST SWAP1 POP PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x556 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x5D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x214 SWAP2 SWAP1 PUSH2 0x64A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28A DUP2 PUSH2 0x277 JUMP JUMPDEST DUP2 EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A7 DUP2 PUSH2 0x281 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C3 JUMPI PUSH2 0x2C2 PUSH2 0x272 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D1 DUP5 DUP3 DUP6 ADD PUSH2 0x298 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2E3 DUP2 PUSH2 0x277 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x352 DUP3 PUSH2 0x309 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x371 JUMPI PUSH2 0x370 PUSH2 0x31A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x384 PUSH2 0x268 JUMP JUMPDEST SWAP1 POP PUSH2 0x390 DUP3 DUP3 PUSH2 0x349 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A8 DUP2 PUSH2 0x395 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3C5 DUP2 PUSH2 0x39F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E1 JUMPI PUSH2 0x3E0 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH2 0x3EB PUSH1 0x80 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3FB DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x40F DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x423 DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x437 DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x272 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x467 DUP5 DUP3 DUP6 ADD PUSH2 0x3CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x64656274416D6F756E7400000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0xA DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4D6 DUP2 PUSH2 0x395 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4F5 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH2 0x504 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x616363756D756C61746564526174650000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x540 PUSH1 0xF DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x54B DUP3 PUSH2 0x50A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x56F DUP2 PUSH2 0x533 JUMP JUMPDEST SWAP1 POP PUSH2 0x57E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x7361666574795072696365000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BA PUSH1 0xB DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x5C5 DUP3 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5E9 DUP2 PUSH2 0x5AD JUMP JUMPDEST SWAP1 POP PUSH2 0x5F8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x6C69717569646174696F6E507269636500000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x634 PUSH1 0x10 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x63F DUP3 PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x663 DUP2 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP PUSH2 0x672 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB3 MSIZE 0xB5 0xCD SHL 0xE9 PUSH18 0x708F5CFD1570723687233996078DEDF6E5 PUSH31 0x1A1663021BE564736F6C634300081300330000000000000000000000000000 ",
"sourceMap": "166:650:2:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@OP_8466": {
"entryPoint": 544,
"id": 8466,
"parameterSlots": 0,
"returnSlots": 0
},
"@WETH_8460": {
"entryPoint": 580,
"id": 8460,
"parameterSlots": 0,
"returnSlots": 0
},
"@getData_8512": {
"entryPoint": 158,
"id": 8512,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_bytes32": {
"entryPoint": 664,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory": {
"entryPoint": 971,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 950,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bytes32": {
"entryPoint": 685,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory": {
"entryPoint": 1091,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 730,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1575,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1331,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1194,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1453,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1229,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 745,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1610,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1366,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1244,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1488,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 890,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 616,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1136,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 631,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 917,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 841,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 794,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f": {
"entryPoint": 772,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 626,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 777,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"store_literal_in_memory_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6": {
"entryPoint": 1534,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb": {
"entryPoint": 1290,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b": {
"entryPoint": 1153,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a": {
"entryPoint": 1412,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 641,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 927,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8802:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:3"
},
"nodeType": "YulFunctionCall",
"src": "67:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:3",
"type": ""
}
],
"src": "7:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:3"
},
"nodeType": "YulFunctionCall",
"src": "187:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:3"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:3"
},
"nodeType": "YulFunctionCall",
"src": "310:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:3"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:3"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:3",
"type": ""
}
],
"src": "334:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:3"
},
"nodeType": "YulFunctionCall",
"src": "519:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:3"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "490:17:3"
},
"nodeType": "YulFunctionCall",
"src": "490:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:3"
},
"nodeType": "YulFunctionCall",
"src": "480:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:3"
},
"nodeType": "YulFunctionCall",
"src": "473:43:3"
},
"nodeType": "YulIf",
"src": "470:63:3"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:3",
"type": ""
}
],
"src": "417:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:3"
},
"nodeType": "YulFunctionCall",
"src": "616:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:3"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "645:26:3"
},
"nodeType": "YulFunctionCall",
"src": "645:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:3"
}
]
},
"name": "abi_decode_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:3",
"type": ""
}
],
"src": "545:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:3"
},
"nodeType": "YulFunctionCall",
"src": "804:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:3"
},
"nodeType": "YulFunctionCall",
"src": "773:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:3"
},
"nodeType": "YulFunctionCall",
"src": "769:32:3"
},
"nodeType": "YulIf",
"src": "766:119:3"
},
{
"nodeType": "YulBlock",
"src": "895:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:3"
},
"nodeType": "YulFunctionCall",
"src": "970:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:3"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "949:20:3"
},
"nodeType": "YulFunctionCall",
"src": "949:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:3",
"type": ""
}
],
"src": "690:329:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1090:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1107:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1130:5:3"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1112:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1112:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1100:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1100:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1100:37:3"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1078:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1085:3:3",
"type": ""
}
],
"src": "1025:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1247:124:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1257:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1269:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1280:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1265:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1265:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1257:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1337:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1346:17:3"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "1293:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1293:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "1293:71:3"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1219:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1231:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1242:4:3",
"type": ""
}
],
"src": "1149:222:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1466:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1483:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1486:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1476:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1476:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "1476:12:3"
}
]
},
"name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f",
"nodeType": "YulFunctionDefinition",
"src": "1377:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1548:54:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1558:38:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1576:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1583:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1572:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1572:14:3"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1592:2:3",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1588:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1588:7:3"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1568:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1568:28:3"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1558:6:3"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1531:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1541:6:3",
"type": ""
}
],
"src": "1500:102:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1636:152:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1653:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1656:77:3",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1646:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1646:88:3"
},
"nodeType": "YulExpressionStatement",
"src": "1646:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1750:1:3",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1753:4:3",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1743:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1743:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "1743:15:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1774:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1777:4:3",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1767:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1767:15:3"
},
"nodeType": "YulExpressionStatement",
"src": "1767:15:3"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "1608:180:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1837:238:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1847:58:3",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1869:6:3"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1899:4:3"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "1877:21:3"
},
"nodeType": "YulFunctionCall",
"src": "1877:27:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1865:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1865:40:3"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "1851:10:3",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2016:22:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2018:16:3"
},
"nodeType": "YulFunctionCall",
"src": "2018:18:3"
},
"nodeType": "YulExpressionStatement",
"src": "2018:18:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1959:10:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1971:18:3",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1956:2:3"
},
"nodeType": "YulFunctionCall",
"src": "1956:34:3"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1995:10:3"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2007:6:3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1992:2:3"
},
"nodeType": "YulFunctionCall",
"src": "1992:22:3"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1953:2:3"
},
"nodeType": "YulFunctionCall",
"src": "1953:62:3"
},
"nodeType": "YulIf",
"src": "1950:88:3"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2054:2:3",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "2058:10:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2047:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2047:22:3"
},
"nodeType": "YulExpressionStatement",
"src": "2047:22:3"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1823:6:3",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1831:4:3",
"type": ""
}
],
"src": "1794:281:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2122:88:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2132:30:3",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "2142:18:3"
},
"nodeType": "YulFunctionCall",
"src": "2142:20:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2132:6:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2191:6:3"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2199:4:3"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "2171:19:3"
},
"nodeType": "YulFunctionCall",
"src": "2171:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "2171:33:3"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2106:4:3",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2115:6:3",
"type": ""
}
],
"src": "2081:129:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2305:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2322:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2325:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2315:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2315:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2315:12:3"
}
]
},
"name": "revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421",
"nodeType": "YulFunctionDefinition",
"src": "2216:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2384:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2394:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2405:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2394:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2366:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2376:7:3",
"type": ""
}
],
"src": "2339:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2465:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2522:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2531:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2534:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2524:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2524:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2524:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2488:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2513:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2495:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2495:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2485:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2485:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2478:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2478:43:3"
},
"nodeType": "YulIf",
"src": "2475:63:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2458:5:3",
"type": ""
}
],
"src": "2422:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2613:80:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2623:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2638:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2632:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2632:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2623:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2681:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "2654:26:3"
},
"nodeType": "YulFunctionCall",
"src": "2654:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "2654:33:3"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2591:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2599:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2607:5:3",
"type": ""
}
],
"src": "2550:143:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2858:896:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2902:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f",
"nodeType": "YulIdentifier",
"src": "2904:77:3"
},
"nodeType": "YulFunctionCall",
"src": "2904:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "2904:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2879:3:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2884:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2875:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2875:19:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2896:4:3",
"type": "",
"value": "0x80"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2871:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2871:30:3"
},
"nodeType": "YulIf",
"src": "2868:117:3"
},
{
"nodeType": "YulAssignment",
"src": "2994:30:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3019:4:3",
"type": "",
"value": "0x80"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "3003:15:3"
},
"nodeType": "YulFunctionCall",
"src": "3003:21:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2994:5:3"
}
]
},
{
"nodeType": "YulBlock",
"src": "3034:167:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3075:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3079:6:3",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3115:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3122:4:3",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3111:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3111:16:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3165:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3176:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3161:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3161:22:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3185:3:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "3129:31:3"
},
"nodeType": "YulFunctionCall",
"src": "3129:60:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3104:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3104:86:3"
},
"nodeType": "YulExpressionStatement",
"src": "3104:86:3"
}
]
},
{
"nodeType": "YulBlock",
"src": "3211:173:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3257:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3271:2:3",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3261:6:3",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3298:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3305:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3294:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3294:16:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3348:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3359:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3344:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3344:22:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3368:3:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "3312:31:3"
},
"nodeType": "YulFunctionCall",
"src": "3312:60:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3287:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3287:86:3"
},
"nodeType": "YulExpressionStatement",
"src": "3287:86:3"
}
]
},
{
"nodeType": "YulBlock",
"src": "3394:169:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3436:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3450:2:3",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3440:6:3",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3477:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:4:3",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3473:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3473:16:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3527:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3538:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3523:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3523:22:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3547:3:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "3491:31:3"
},
"nodeType": "YulFunctionCall",
"src": "3491:60:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3466:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3466:86:3"
},
"nodeType": "YulExpressionStatement",
"src": "3466:86:3"
}
]
},
{
"nodeType": "YulBlock",
"src": "3573:174:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3620:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3634:2:3",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3624:6:3",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3661:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3668:4:3",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3657:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3657:16:3"
},
{
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3711:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3722:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3707:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3707:22:3"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3731:3:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "3675:31:3"
},
"nodeType": "YulFunctionCall",
"src": "3675:60:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3650:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3650:86:3"
},
"nodeType": "YulExpressionStatement",
"src": "3650:86:3"
}
]
}
]
},
"name": "abi_decode_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2833:9:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2844:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2852:5:3",
"type": ""
}
],
"src": "2750:1004:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3879:317:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3926:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3928:77:3"
},
"nodeType": "YulFunctionCall",
"src": "3928:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "3928:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3900:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3909:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3896:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3896:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3921:3:3",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3892:3:3"
},
"nodeType": "YulFunctionCall",
"src": "3892:33:3"
},
"nodeType": "YulIf",
"src": "3889:120:3"
},
{
"nodeType": "YulBlock",
"src": "4019:170:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4034:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4048:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4038:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4063:116:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4151:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4162:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4147:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4147:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4171:7:3"
}
],
"functionName": {
"name": "abi_decode_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "4073:73:3"
},
"nodeType": "YulFunctionCall",
"src": "4073:106:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4063:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3849:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3860:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3872:6:3",
"type": ""
}
],
"src": "3760:436:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4298:73:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4315:3:3"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4320:6:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4308:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4308:19:3"
},
"nodeType": "YulExpressionStatement",
"src": "4308:19:3"
},
{
"nodeType": "YulAssignment",
"src": "4336:29:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4355:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4360:4:3",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4351:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4351:14:3"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4336:11:3"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4270:3:3",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4275:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4286:11:3",
"type": ""
}
],
"src": "4202:169:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4483:54:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4505:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4513:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4501:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4501:14:3"
},
{
"hexValue": "64656274416d6f756e74",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4517:12:3",
"type": "",
"value": "debtAmount"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4494:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4494:36:3"
},
"nodeType": "YulExpressionStatement",
"src": "4494:36:3"
}
]
},
"name": "store_literal_in_memory_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4475:6:3",
"type": ""
}
],
"src": "4377:160:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4689:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4699:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4765:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4770:2:3",
"type": "",
"value": "10"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4706:58:3"
},
"nodeType": "YulFunctionCall",
"src": "4706:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4699:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4871:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b",
"nodeType": "YulIdentifier",
"src": "4782:88:3"
},
"nodeType": "YulFunctionCall",
"src": "4782:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "4782:93:3"
},
{
"nodeType": "YulAssignment",
"src": "4884:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4895:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4900:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4891:3:3"
},
"nodeType": "YulFunctionCall",
"src": "4891:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4884:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4677:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4685:3:3",
"type": ""
}
],
"src": "4543:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4980:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4997:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5020:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5002:17:3"
},
"nodeType": "YulFunctionCall",
"src": "5002:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4990:6:3"
},
"nodeType": "YulFunctionCall",
"src": "4990:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "4990:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4968:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4975:3:3",
"type": ""
}
],
"src": "4915:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5238:330:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5248:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5260:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5271:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5256:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5256:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5248:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5295:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5306:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5291:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5291:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5314:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5320:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5310:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5310:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5284:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5284:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "5284:47:3"
},
{
"nodeType": "YulAssignment",
"src": "5340:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5474:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5348:124:3"
},
"nodeType": "YulFunctionCall",
"src": "5348:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5340:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5533:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5546:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5557:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5542:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5542:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5489:43:3"
},
"nodeType": "YulFunctionCall",
"src": "5489:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "5489:72:3"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5210:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5222:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5233:4:3",
"type": ""
}
],
"src": "5039:529:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5680:59:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5702:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5710:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5698:3:3"
},
"nodeType": "YulFunctionCall",
"src": "5698:14:3"
},
{
"hexValue": "616363756d756c6174656452617465",
"kind": "string",
"nodeType": "YulLiteral",
"src": "5714:17:3",
"type": "",
"value": "accumulatedRate"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5691:6:3"
},
"nodeType": "YulFunctionCall",
"src": "5691:41:3"
},
"nodeType": "YulExpressionStatement",
"src": "5691:41:3"
}
]
},
"name": "store_literal_in_memory_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5672:6:3",
"type": ""
}
],
"src": "5574:165:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5891:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5901:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5967:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5972:2:3",
"type": "",
"value": "15"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5908:58:3"
},
"nodeType": "YulFunctionCall",
"src": "5908:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5901:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6073:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb",
"nodeType": "YulIdentifier",
"src": "5984:88:3"
},
"nodeType": "YulFunctionCall",
"src": "5984:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "5984:93:3"
},
{
"nodeType": "YulAssignment",
"src": "6086:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6097:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6102:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6093:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6093:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6086:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5879:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5887:3:3",
"type": ""
}
],
"src": "5745:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6316:330:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6326:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6338:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6349:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6334:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6334:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6326:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6373:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6384:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6369:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6369:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6392:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6398:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6388:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6388:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6362:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6362:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "6362:47:3"
},
{
"nodeType": "YulAssignment",
"src": "6418:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6552:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6426:124:3"
},
"nodeType": "YulFunctionCall",
"src": "6426:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6418:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6611:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6624:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6635:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6620:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6620:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6567:43:3"
},
"nodeType": "YulFunctionCall",
"src": "6567:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "6567:72:3"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6288:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6300:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6311:4:3",
"type": ""
}
],
"src": "6117:529:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6758:55:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6780:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6788:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6776:3:3"
},
"nodeType": "YulFunctionCall",
"src": "6776:14:3"
},
{
"hexValue": "7361666574795072696365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6792:13:3",
"type": "",
"value": "safetyPrice"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6769:6:3"
},
"nodeType": "YulFunctionCall",
"src": "6769:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "6769:37:3"
}
]
},
"name": "store_literal_in_memory_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6750:6:3",
"type": ""
}
],
"src": "6652:161:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6965:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6975:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7041:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7046:2:3",
"type": "",
"value": "11"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6982:58:3"
},
"nodeType": "YulFunctionCall",
"src": "6982:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6975:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7147:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a",
"nodeType": "YulIdentifier",
"src": "7058:88:3"
},
"nodeType": "YulFunctionCall",
"src": "7058:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "7058:93:3"
},
{
"nodeType": "YulAssignment",
"src": "7160:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7171:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7176:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7167:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7167:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7160:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6953:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6961:3:3",
"type": ""
}
],
"src": "6819:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7390:330:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7400:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7412:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7423:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7408:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7408:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7400:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7447:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7458:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7443:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7443:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7466:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7472:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7462:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7462:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7436:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7436:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "7436:47:3"
},
{
"nodeType": "YulAssignment",
"src": "7492:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7626:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7500:124:3"
},
"nodeType": "YulFunctionCall",
"src": "7500:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7492:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7685:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7698:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7709:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7694:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7694:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "7641:43:3"
},
"nodeType": "YulFunctionCall",
"src": "7641:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "7641:72:3"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7362:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7374:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7385:4:3",
"type": ""
}
],
"src": "7191:529:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7832:60:3",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7854:6:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7862:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7850:3:3"
},
"nodeType": "YulFunctionCall",
"src": "7850:14:3"
},
{
"hexValue": "6c69717569646174696f6e5072696365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7866:18:3",
"type": "",
"value": "liquidationPrice"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7843:6:3"
},
"nodeType": "YulFunctionCall",
"src": "7843:42:3"
},
"nodeType": "YulExpressionStatement",
"src": "7843:42:3"
}
]
},
"name": "store_literal_in_memory_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7824:6:3",
"type": ""
}
],
"src": "7726:166:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8044:220:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8054:74:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8120:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8125:2:3",
"type": "",
"value": "16"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8061:58:3"
},
"nodeType": "YulFunctionCall",
"src": "8061:67:3"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8054:3:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8226:3:3"
}
],
"functionName": {
"name": "store_literal_in_memory_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6",
"nodeType": "YulIdentifier",
"src": "8137:88:3"
},
"nodeType": "YulFunctionCall",
"src": "8137:93:3"
},
"nodeType": "YulExpressionStatement",
"src": "8137:93:3"
},
{
"nodeType": "YulAssignment",
"src": "8239:19:3",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8250:3:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8255:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8246:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8246:12:3"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8239:3:3"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8032:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "8040:3:3",
"type": ""
}
],
"src": "7898:366:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8469:330:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8479:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8491:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8502:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8487:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8487:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8479:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8526:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8537:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8522:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8522:17:3"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8545:4:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8551:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8541:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8541:20:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8515:6:3"
},
"nodeType": "YulFunctionCall",
"src": "8515:47:3"
},
"nodeType": "YulExpressionStatement",
"src": "8515:47:3"
},
{
"nodeType": "YulAssignment",
"src": "8571:139:3",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8705:4:3"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8579:124:3"
},
"nodeType": "YulFunctionCall",
"src": "8579:131:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8571:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "8764:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8777:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8788:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8773:3:3"
},
"nodeType": "YulFunctionCall",
"src": "8773:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "8720:43:3"
},
"nodeType": "YulFunctionCall",
"src": "8720:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "8720:72:3"
}
]
},
"name": "abi_encode_tuple_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8441:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8453:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8464:4:3",
"type": ""
}
],
"src": "8270:529:3"
}
]
},
"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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() {\n revert(0, 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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function revert_error_5e8f644817bc4960744f35c15999b6eff64ae702f94b1c46297cfd4e1aec2421() {\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n // struct ISAFEEngine.SAFEEngineCollateralData\n function abi_decode_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory(headStart, end) -> value {\n if slt(sub(end, headStart), 0x80) { revert_error_3538a459e4a0eb828f1aed5ebe5dc96fe59620a31d9b33e41259bb820cae769f() }\n value := allocate_memory(0x80)\n\n {\n // debtAmount\n\n let offset := 0\n\n mstore(add(value, 0x00), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // accumulatedRate\n\n let offset := 32\n\n mstore(add(value, 0x20), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // safetyPrice\n\n let offset := 64\n\n mstore(add(value, 0x40), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n {\n // liquidationPrice\n\n let offset := 96\n\n mstore(add(value, 0x60), abi_decode_t_uint256_fromMemory(add(headStart, offset), end))\n\n }\n\n }\n\n function abi_decode_tuple_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_struct$_SAFEEngineCollateralData_$8234_memory_ptr_fromMemory(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_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b(memPtr) {\n\n mstore(add(memPtr, 0), \"debtAmount\")\n\n }\n\n function abi_encode_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 10)\n store_literal_in_memory_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b(pos)\n end := add(pos, 32)\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_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5b9d1a89b3f6b5c161cec9e3cf7182315046262f6d48a5ffd928b78f49c4a40b_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb(memPtr) {\n\n mstore(add(memPtr, 0), \"accumulatedRate\")\n\n }\n\n function abi_encode_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n store_literal_in_memory_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_34d32f4220b762d5dc9ea22abe2a8ef3cf9be479623d3b01bfe3ade594c743eb_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a(memPtr) {\n\n mstore(add(memPtr, 0), \"safetyPrice\")\n\n }\n\n function abi_encode_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 11)\n store_literal_in_memory_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a3099aa066612efa59fd31b9f1611c983b34d7e0c527bc23135fd709180fb81a_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6(memPtr) {\n\n mstore(add(memPtr, 0), \"liquidationPrice\")\n\n }\n\n function abi_encode_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_30af45fc633648e5964e93975d5ad514d2ba1f3c3b3bdf880b520d26cd5874f6_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806354f6127f146100465780637c9c347214610062578063ad5c464814610080575b600080fd5b610060600480360381019061005b91906102ad565b61009e565b005b61006a610220565b60405161007791906102e9565b60405180910390f35b610088610244565b60405161009591906102e9565b60405180910390f35b600073dfd2d62b3ec9bf6f52547c570b5ac2136d9756e473ffffffffffffffffffffffffffffffffffffffff1663b6e05a2e836040518263ffffffff1660e01b81526004016100ed91906102e9565b608060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012e9190610443565b90507f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef7816000015160405161016391906104dc565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef7816020015160405161019e9190610556565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef781604001516040516101d991906105d0565b60405180910390a17f941296a39ea107bde685522318a4b6c2b544904a5dd82a512748ca2cf839bef78160600151604051610214919061064a565b60405180910390a15050565b7f4f5000000000000000000000000000000000000000000000000000000000000081565b7f574554480000000000000000000000000000000000000000000000000000000081565b6000604051905090565b600080fd5b6000819050919050565b61028a81610277565b811461029557600080fd5b50565b6000813590506102a781610281565b92915050565b6000602082840312156102c3576102c2610272565b5b60006102d184828501610298565b91505092915050565b6102e381610277565b82525050565b60006020820190506102fe60008301846102da565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61035282610309565b810181811067ffffffffffffffff821117156103715761037061031a565b5b80604052505050565b6000610384610268565b90506103908282610349565b919050565b6000819050919050565b6103a881610395565b81146103b357600080fd5b50565b6000815190506103c58161039f565b92915050565b6000608082840312156103e1576103e0610304565b5b6103eb608061037a565b905060006103fb848285016103b6565b600083015250602061040f848285016103b6565b6020830152506040610423848285016103b6565b6040830152506060610437848285016103b6565b60608301525092915050565b60006080828403121561045957610458610272565b5b6000610467848285016103cb565b91505092915050565b600082825260208201905092915050565b7f64656274416d6f756e7400000000000000000000000000000000000000000000600082015250565b60006104b7600a83610470565b91506104c282610481565b602082019050919050565b6104d681610395565b82525050565b600060408201905081810360008301526104f5816104aa565b905061050460208301846104cd565b92915050565b7f616363756d756c61746564526174650000000000000000000000000000000000600082015250565b6000610540600f83610470565b915061054b8261050a565b602082019050919050565b6000604082019050818103600083015261056f81610533565b905061057e60208301846104cd565b92915050565b7f7361666574795072696365000000000000000000000000000000000000000000600082015250565b60006105ba600b83610470565b91506105c582610584565b602082019050919050565b600060408201905081810360008301526105e9816105ad565b90506105f860208301846104cd565b92915050565b7f6c69717569646174696f6e507269636500000000000000000000000000000000600082015250565b6000610634601083610470565b915061063f826105fe565b602082019050919050565b6000604082019050818103600083015261066381610627565b905061067260208301846104cd565b9291505056fea2646970667358221220b359b5cd1be97100708f5cfd1570723687233996078dedf6e57e1a1663021be564736f6c63430008130033",
"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 0x54F6127F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x7C9C3472 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xAD5C4648 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x2AD JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x220 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x244 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH20 0xDFD2D62B3EC9BF6F52547C570B5AC2136D9756E4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xB6E05A2E DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xED SWAP2 SWAP1 PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x80 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x443 JUMP JUMPDEST SWAP1 POP PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x556 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x40 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x5D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x941296A39EA107BDE685522318A4B6C2B544904A5DD82A512748CA2CF839BEF7 DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x214 SWAP2 SWAP1 PUSH2 0x64A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x28A DUP2 PUSH2 0x277 JUMP JUMPDEST DUP2 EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A7 DUP2 PUSH2 0x281 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C3 JUMPI PUSH2 0x2C2 PUSH2 0x272 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2D1 DUP5 DUP3 DUP6 ADD PUSH2 0x298 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2E3 DUP2 PUSH2 0x277 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x352 DUP3 PUSH2 0x309 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x371 JUMPI PUSH2 0x370 PUSH2 0x31A JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x384 PUSH2 0x268 JUMP JUMPDEST SWAP1 POP PUSH2 0x390 DUP3 DUP3 PUSH2 0x349 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3A8 DUP2 PUSH2 0x395 JUMP JUMPDEST DUP2 EQ PUSH2 0x3B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3C5 DUP2 PUSH2 0x39F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E1 JUMPI PUSH2 0x3E0 PUSH2 0x304 JUMP JUMPDEST JUMPDEST PUSH2 0x3EB PUSH1 0x80 PUSH2 0x37A JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3FB DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x0 DUP4 ADD MSTORE POP PUSH1 0x20 PUSH2 0x40F DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 PUSH2 0x423 DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH1 0x60 PUSH2 0x437 DUP5 DUP3 DUP6 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x459 JUMPI PUSH2 0x458 PUSH2 0x272 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x467 DUP5 DUP3 DUP6 ADD PUSH2 0x3CB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x64656274416D6F756E7400000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0xA DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4D6 DUP2 PUSH2 0x395 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4F5 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH2 0x504 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x616363756D756C61746564526174650000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x540 PUSH1 0xF DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x54B DUP3 PUSH2 0x50A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x56F DUP2 PUSH2 0x533 JUMP JUMPDEST SWAP1 POP PUSH2 0x57E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x7361666574795072696365000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5BA PUSH1 0xB DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x5C5 DUP3 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5E9 DUP2 PUSH2 0x5AD JUMP JUMPDEST SWAP1 POP PUSH2 0x5F8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x6C69717569646174696F6E507269636500000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x634 PUSH1 0x10 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x63F DUP3 PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x663 DUP2 PUSH2 0x627 JUMP JUMPDEST SWAP1 POP PUSH2 0x672 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4CD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB3 MSIZE 0xB5 0xCD SHL 0xE9 PUSH18 0x708F5CFD1570723687233996078DEDF6E5 PUSH31 0x1A1663021BE564736F6C634300081300330000000000000000000000000000 ",
"sourceMap": "166:650:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:382;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;346:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;294:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;432:382;484:50;245:42;537:16;;;554:6;537:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;484:77;;577:40;599:6;:17;;;577:40;;;;;;:::i;:::-;;;;;;;;632:50;659:6;:22;;;632:50;;;;;;:::i;:::-;;;;;;;;697:42;720:6;:18;;;697:42;;;;;;:::i;:::-;;;;;;;;754:52;782:6;:23;;;754:52;;;;;;:::i;:::-;;;;;;;;474:340;432:382;:::o;346:42::-;375:13;346:42;:::o;294:46::-;325:15;294:46;:::o;7:75:3:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;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:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:117::-;1486:1;1483;1476:12;1500:102;1541:6;1592:2;1588:7;1583:2;1576:5;1572:14;1568:28;1558:38;;1500:102;;;:::o;1608:180::-;1656:77;1653:1;1646:88;1753:4;1750:1;1743:15;1777:4;1774:1;1767:15;1794:281;1877:27;1899:4;1877:27;:::i;:::-;1869:6;1865:40;2007:6;1995:10;1992:22;1971:18;1959:10;1956:34;1953:62;1950:88;;;2018:18;;:::i;:::-;1950:88;2058:10;2054:2;2047:22;1837:238;1794:281;;:::o;2081:129::-;2115:6;2142:20;;:::i;:::-;2132:30;;2171:33;2199:4;2191:6;2171:33;:::i;:::-;2081:129;;;:::o;2339:77::-;2376:7;2405:5;2394:16;;2339:77;;;:::o;2422:122::-;2495:24;2513:5;2495:24;:::i;:::-;2488:5;2485:35;2475:63;;2534:1;2531;2524:12;2475:63;2422:122;:::o;2550:143::-;2607:5;2638:6;2632:13;2623:22;;2654:33;2681:5;2654:33;:::i;:::-;2550:143;;;;:::o;2750:1004::-;2852:5;2896:4;2884:9;2879:3;2875:19;2871:30;2868:117;;;2904:79;;:::i;:::-;2868:117;3003:21;3019:4;3003:21;:::i;:::-;2994:30;;3089:1;3129:60;3185:3;3176:6;3165:9;3161:22;3129:60;:::i;:::-;3122:4;3115:5;3111:16;3104:86;3034:167;3271:2;3312:60;3368:3;3359:6;3348:9;3344:22;3312:60;:::i;:::-;3305:4;3298:5;3294:16;3287:86;3211:173;3450:2;3491:60;3547:3;3538:6;3527:9;3523:22;3491:60;:::i;:::-;3484:4;3477:5;3473:16;3466:86;3394:169;3634:2;3675:60;3731:3;3722:6;3711:9;3707:22;3675:60;:::i;:::-;3668:4;3661:5;3657:16;3650:86;3573:174;2750:1004;;;;:::o;3760:436::-;3872:6;3921:3;3909:9;3900:7;3896:23;3892:33;3889:120;;;3928:79;;:::i;:::-;3889:120;4048:1;4073:106;4171:7;4162:6;4151:9;4147:22;4073:106;:::i;:::-;4063:116;;4019:170;3760:436;;;;:::o;4202:169::-;4286:11;4320:6;4315:3;4308:19;4360:4;4355:3;4351:14;4336:29;;4202:169;;;;:::o;4377:160::-;4517:12;4513:1;4505:6;4501:14;4494:36;4377:160;:::o;4543:366::-;4685:3;4706:67;4770:2;4765:3;4706:67;:::i;:::-;4699:74;;4782:93;4871:3;4782:93;:::i;:::-;4900:2;4895:3;4891:12;4884:19;;4543:366;;;:::o;4915:118::-;5002:24;5020:5;5002:24;:::i;:::-;4997:3;4990:37;4915:118;;:::o;5039:529::-;5233:4;5271:2;5260:9;5256:18;5248:26;;5320:9;5314:4;5310:20;5306:1;5295:9;5291:17;5284:47;5348:131;5474:4;5348:131;:::i;:::-;5340:139;;5489:72;5557:2;5546:9;5542:18;5533:6;5489:72;:::i;:::-;5039:529;;;;:::o;5574:165::-;5714:17;5710:1;5702:6;5698:14;5691:41;5574:165;:::o;5745:366::-;5887:3;5908:67;5972:2;5967:3;5908:67;:::i;:::-;5901:74;;5984:93;6073:3;5984:93;:::i;:::-;6102:2;6097:3;6093:12;6086:19;;5745:366;;;:::o;6117:529::-;6311:4;6349:2;6338:9;6334:18;6326:26;;6398:9;6392:4;6388:20;6384:1;6373:9;6369:17;6362:47;6426:131;6552:4;6426:131;:::i;:::-;6418:139;;6567:72;6635:2;6624:9;6620:18;6611:6;6567:72;:::i;:::-;6117:529;;;;:::o;6652:161::-;6792:13;6788:1;6780:6;6776:14;6769:37;6652:161;:::o;6819:366::-;6961:3;6982:67;7046:2;7041:3;6982:67;:::i;:::-;6975:74;;7058:93;7147:3;7058:93;:::i;:::-;7176:2;7171:3;7167:12;7160:19;;6819:366;;;:::o;7191:529::-;7385:4;7423:2;7412:9;7408:18;7400:26;;7472:9;7466:4;7462:20;7458:1;7447:9;7443:17;7436:47;7500:131;7626:4;7500:131;:::i;:::-;7492:139;;7641:72;7709:2;7698:9;7694:18;7685:6;7641:72;:::i;:::-;7191:529;;;;:::o;7726:166::-;7866:18;7862:1;7854:6;7850:14;7843:42;7726:166;:::o;7898:366::-;8040:3;8061:67;8125:2;8120:3;8061:67;:::i;:::-;8054:74;;8137:93;8226:3;8137:93;:::i;:::-;8255:2;8250:3;8246:12;8239:19;;7898:366;;;:::o;8270:529::-;8464:4;8502:2;8491:9;8487:18;8479:26;;8551:9;8545:4;8541:20;8537:1;8526:9;8522:17;8515:47;8579:131;8705:4;8579:131;:::i;:::-;8571:139;;8720:72;8788:2;8777:9;8773:18;8764:6;8720:72;:::i;:::-;8270:529;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "342000",
"executionCost": "380",
"totalCost": "342380"
},
"external": {
"OP()": "329",
"WETH()": "351",
"getData(bytes32)": "infinite"
}
},
"methodIdentifiers": {
"OP()": "7c9c3472",
"WETH()": "ad5c4648",
"getData(bytes32)": "54f6127f"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "",
"type": "string"
},
{
"indexed": false,
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "LogUint",
"type": "event"
},
{
"inputs": [],
"name": "OP",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WETH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "getData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "",
"type": "string"
},
{
"indexed": false,
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "LogUint",
"type": "event"
},
{
"inputs": [],
"name": "OP",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WETH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_cType",
"type": "bytes32"
}
],
"name": "getData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/SafeEngineData.sol": "GetSafeEngineData"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"hardhat/console.sol": {
"keccak256": "0x60b0215121bf25612a6739fb2f1ec35f31ee82e4a8216c032c8243d904ab3aa9",
"license": "MIT",
"urls": [
"bzz-raw://6e29880d33dd479bb046ba306993d26ccb779a4b1d94a046cb3567f22948bb4d",
"dweb:/ipfs/QmfTY1qzPt5C63Wc7y6JqfZr5899NRvXYdCpyLzR5FXQic"
]
},
"interfaces/ISAFEEngine.sol": {
"keccak256": "0x307d9b9a63f8bc616d5679113942c68609bd53cf1dc08904d3248f5692590a3c",
"license": "GPL-3.0",
"urls": [
"bzz-raw://6c1b196038fba971098910f2665476249805e0f0976c7f55c4f89c17df794969",
"dweb:/ipfs/QmcKGYC4yU1povvhrAyPpYxCyCSBCfT7mVCgsscyH8yyHN"
]
},
"scripts/SafeEngineData.sol": {
"keccak256": "0x82571a698c7ea1edde1bd81c85b655dff07e99d9422cfa3bccb5d2bba27a0dd6",
"license": "GPL-3.0",
"urls": [
"bzz-raw://3126a2fd1f1b689680bedc223d557095328c04e9f3657d25a251fb926cbec86c",
"dweb:/ipfs/QmWSEDFEPHBNfEZYzVxYkWYRTRMni2QojmQW6eW59AEUgE"
]
}
},
"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": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateResult()": "80ebb08e"
}
},
"abi": [
{
"inputs": [],
"name": "updateResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IDelayedOracle"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"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": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"getJobs()": "68581ebd",
"jobs(address)": "3d1f0bb9",
"liquidityAccepted(address)": "eb421f3b",
"pairs()": "ffb0a4a0"
}
},
"abi": [
{
"inputs": [],
"name": "getJobs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "jobs",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "liquidityAccepted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pairs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getJobs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "jobs",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "liquidityAccepted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pairs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/TestKeep3rV1Deprecation.sol": "IKeep3rV1"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/TestKeep3rV1Deprecation.sol": {
"keccak256": "0x402a3319453d598e411a675ac7d58c4040373047b76f081dad46f1161be05c0d",
"urls": [
"bzz-raw://6939190cd7dea1127a54c562871954cf41869610b5917bb366a64920796ee012",
"dweb:/ipfs/QmRW464GmHccDrK2TP2mheXLF3jYDhSE8nDDBQJVVn1LFJ"
]
}
},
"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": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateCollateralPrice(bytes32)": "6d530fb3"
}
},
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IOracleRelayer"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"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": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateRate()": "c7fee63e"
}
},
"abi": [
{
"inputs": [],
"name": "updateRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IPidRateSetter"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"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": "608060405234801561001057600080fd5b5061036e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36E 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 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@updateOpOracle_55": {
"entryPoint": 495,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateRedemptionRate_65": {
"entryPoint": 377,
"id": 65,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateWethOracle_35": {
"entryPoint": 100,
"id": 35,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 782,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 797,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 772,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:439: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_bytes32",
"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_bytes32",
"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_bytes32_to_t_bytes32_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_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__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"
}
]
},
"contents": "{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"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 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234;;;:::i;:::-;;783:129;;;:::i;:::-;;548:230;;;:::i;:::-;;309:234;371:42;356:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:42;439:80;;;520:15;439:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234::o;783:129::-;849:42;834:69;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;783:129::o;548:230::-;608:42;593:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:42;676:80;;;757:13;676:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:230::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"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "175600",
"executionCost": "220",
"totalCost": "175820"
},
"external": {
"updateOpOracle()": "infinite",
"updateRedemptionRate()": "infinite",
"updateWethOracle()": "infinite"
}
},
"methodIdentifiers": {
"updateOpOracle()": "8e83fae7",
"updateRedemptionRate()": "6d7096e5",
"updateWethOracle()": "3fec9edd"
}
},
"abi": [
{
"inputs": [],
"name": "updateOpOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateRedemptionRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateWethOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateOpOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateRedemptionRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateWethOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "OracleUpdater"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"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": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xA5 0xE5 PUSH3 0xAE74B3 0xF 0xA8 0xAA 0xDA 0xDA BLOCKHASH GAS 0xAA PUSH2 0xA73D 0xB0 PUSH16 0xCB45F98CAC52EC711F0DD07064736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "0:22:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122091a5e562ae74b30fa8aadada405aaa61a73db06fcb45f98cac52ec711f0dd07064736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP2 0xA5 0xE5 PUSH3 0xAE74B3 0xF 0xA8 0xAA 0xDA 0xDA BLOCKHASH GAS 0xAA PUSH2 0xA73D 0xB0 PUSH16 0xCB45F98CAC52EC711F0DD07064736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "0:22:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/TestSnippet.sol": "Test"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/TestSnippet.sol": {
"keccak256": "0x456b14b0bd128763dac3cf52184563a96a8f9b95f545e36d49014fc70db7c0f9",
"urls": [
"bzz-raw://5f174b88a4f7fa36ce82a2e4b22ec8485aa537a8fc978a95a48042fc1f5fa74a",
"dweb:/ipfs/QmWbF5Pbsa9gpA6GnAjf533NtpBBZCHZNUdVCV6wzvhgMf"
]
}
},
"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": {
"@_104": {
"entryPoint": null,
"id": 104,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1043,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 1022,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1148,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1391,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1194,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1412,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1314,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1329,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 873,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 735,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_array$_t_address_$dyn_memory_ptr": {
"entryPoint": 900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 981,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1356,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 949,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1504,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 824,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 1514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1457,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1267,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 777,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 755,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 944,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 750,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 745,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 760,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 999,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1368,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5602: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": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "505:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "533:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "498:6:1",
"type": ""
}
],
"src": "457:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "603:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "603:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "710:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "700:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "700:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "734:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "724:6:1"
},
"nodeType": "YulFunctionCall",
"src": "724:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "724:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "565:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "794:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "804:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "826:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "856:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "834:21:1"
},
"nodeType": "YulFunctionCall",
"src": "834:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "822:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "808:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "975:16:1"
},
"nodeType": "YulFunctionCall",
"src": "975:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "975:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "916:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "913:2:1"
},
"nodeType": "YulFunctionCall",
"src": "913:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "952:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "964:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "949:2:1"
},
"nodeType": "YulFunctionCall",
"src": "949:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "910:62:1"
},
"nodeType": "YulIf",
"src": "907:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1011:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1015:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1004:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1004:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "780:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "788:4:1",
"type": ""
}
],
"src": "751:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1079:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1089:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1099:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1099:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1156:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1128:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1128:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1063:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1072:6:1",
"type": ""
}
],
"src": "1038:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1255:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1360:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1362:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1362:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1362:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1332:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1340:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1329:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:30:1"
},
"nodeType": "YulIf",
"src": "1326:56:1"
},
{
"nodeType": "YulAssignment",
"src": "1392:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1412:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1400:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1392:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1454:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1466:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1472:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1462:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1462:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1454:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1250:4:1",
"type": ""
}
],
"src": "1173:311:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1599:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1589:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1589:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "1490:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1658:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1668:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1683:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1690:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1679:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1679:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1668:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1640:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1650:7:1",
"type": ""
}
],
"src": "1613:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1790:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1800:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1829:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1811:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1811:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1800:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1772:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1782:7:1",
"type": ""
}
],
"src": "1745:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1890:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1947:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1956:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1959:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1949:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1949:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1949:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1913:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1938:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1920:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1920:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1910:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1903:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1903:43:1"
},
"nodeType": "YulIf",
"src": "1900:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1883:5:1",
"type": ""
}
],
"src": "1847:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2038:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2048:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2063:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2057:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2057:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2048:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2106:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "2079:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2079:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2079:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2016:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2024:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2032:5:1",
"type": ""
}
],
"src": "1975:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2254:619:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2264:90:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2346:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2289:56:1"
},
"nodeType": "YulFunctionCall",
"src": "2289:64:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2273:15:1"
},
"nodeType": "YulFunctionCall",
"src": "2273:81:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2264:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2363:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "2374:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2367:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2396:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2403:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2389:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2389:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "2389:21:1"
},
{
"nodeType": "YulAssignment",
"src": "2419:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2430:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2437:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2426:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2419:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2452:44:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2470:6:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2482:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2490:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2478:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2478:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2466:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2466:30:1"
},
"variables": [
{
"name": "srcEnd",
"nodeType": "YulTypedName",
"src": "2456:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2524:103:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "2538:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2538:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2538:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2511:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2519:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2508:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2508:15:1"
},
"nodeType": "YulIf",
"src": "2505:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2712:155:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2727:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "2745:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "2731:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2769:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "2806:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2818:3:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "2774:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2774:48:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2762:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2762:61:1"
},
"nodeType": "YulExpressionStatement",
"src": "2762:61:1"
},
{
"nodeType": "YulAssignment",
"src": "2836:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2847:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2852:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2843:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2843:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2836:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2665:3:1"
},
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2670:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2662:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2662:15:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2678:25:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2680:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2691:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2696:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2687:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2687:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2680:3:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2640:21:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2642:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2653:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2646:3:1",
"type": ""
}
]
}
]
},
"src": "2636:231:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2224:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2232:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2240:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2248:5:1",
"type": ""
}
],
"src": "2141:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2984:297:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3033:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3035:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3035:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3035:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3012:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3020:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3008:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3008:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3027:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3004:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3004:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2997:35:1"
},
"nodeType": "YulIf",
"src": "2994:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "3125:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3145:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3139:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3139:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3129:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3161:114:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3248:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3256:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3244:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3244:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3263:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3271:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3170:73:1"
},
"nodeType": "YulFunctionCall",
"src": "3170:105:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3161:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2962:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2970:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2978:5:1",
"type": ""
}
],
"src": "2896:385:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3389:452:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3435:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3437:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3437:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3437:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3410:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3419:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3402:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3402:32:1"
},
"nodeType": "YulIf",
"src": "3399:119:1"
},
{
"nodeType": "YulBlock",
"src": "3528:306:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3543:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3567:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3578:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3563:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3563:17:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3557:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3557:24:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3547:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3628:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "3630:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3630:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3630:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3600:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3608:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3597:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3597:30:1"
},
"nodeType": "YulIf",
"src": "3594:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3725:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3796:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3807:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3792:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3792:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3816:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3735:56:1"
},
"nodeType": "YulFunctionCall",
"src": "3735:89:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3725:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3359:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3370:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3382:6:1",
"type": ""
}
],
"src": "3287:554:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3875:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3892:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3895:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3885:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3885:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3885:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3989:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3992:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3982:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3982:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3982:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4013:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4016:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4006:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4006:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4006:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3847:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4098:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4115:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4138:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4120:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4120:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4108:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4108:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "4108:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4086:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4093:3:1",
"type": ""
}
],
"src": "4033:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4255:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4265:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4277:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4288:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4273:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4273:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4265:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4358:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4369:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4354:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4301:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4301:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4301:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4227:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4250:4:1",
"type": ""
}
],
"src": "4157:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4427:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4437:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4462:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4455:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4455:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4448:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4448:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4437:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4409:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4419:7:1",
"type": ""
}
],
"src": "4385:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4521:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4575:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4584:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4587:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4577:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4577:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4544:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4566:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "4551:14:1"
},
"nodeType": "YulFunctionCall",
"src": "4551:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4541:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4541:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4534:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4534:40:1"
},
"nodeType": "YulIf",
"src": "4531:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4514:5:1",
"type": ""
}
],
"src": "4481:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4663:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4673:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4688:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4682:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4682:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4673:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4728:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "4704:23:1"
},
"nodeType": "YulFunctionCall",
"src": "4704:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "4704:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4641:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4649:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4657:5:1",
"type": ""
}
],
"src": "4603:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4820:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4866:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4868:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4868:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4868:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4841:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4850:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4837:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4862:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4833:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4833:32:1"
},
"nodeType": "YulIf",
"src": "4830:119:1"
},
{
"nodeType": "YulBlock",
"src": "4959:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4974:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4988:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5003:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5046:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5057:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5042:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5042:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5066:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "5013:28:1"
},
"nodeType": "YulFunctionCall",
"src": "5013:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5003:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4801:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4813:6:1",
"type": ""
}
],
"src": "4746:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5125:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5142:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5145:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5135:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5135:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5135:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5239:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5242:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5232:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5232:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5232:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5263:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5266:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5256:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5256:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5256:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5097:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5328:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5338:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5349:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5338:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5310:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5320:7:1",
"type": ""
}
],
"src": "5283:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5409:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5419:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5446:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5428:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5428:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5419:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5542:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5544:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5544:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5544:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5467:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5474:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5464:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5464:77:1"
},
"nodeType": "YulIf",
"src": "5461:103:1"
},
{
"nodeType": "YulAssignment",
"src": "5573:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5584:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5591:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5580:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5580:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "5573:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5395:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "5405:3:1",
"type": ""
}
],
"src": "5366:233: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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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 cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506000731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff166368581ebd6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610072573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061009b91906104aa565b90506000731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff1663ffb0a4a06040518163ffffffff1660e01b8152600401600060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061012791906104aa565b905060005b82518110156101fa57731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff16633d1f0bb9848381518110610178576101776104f3565b5b60200260200101516040518263ffffffff1660e01b815260040161019c9190610531565b602060405180830381865afa1580156101b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dd9190610584565b156101e757600080fd5b80806101f2906105ea565b91505061012c565b5060005b81518110156102cc57731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff1663eb421f3b83838151811061024a576102496104f3565b5b60200260200101516040518263ffffffff1660e01b815260040161026e9190610531565b602060405180830381865afa15801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af9190610584565b156102b957600080fd5b80806102c4906105ea565b9150506101fe565b5060006102d857600080fd5b5050610632565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610341826102f8565b810181811067ffffffffffffffff821117156103605761035f610309565b5b80604052505050565b60006103736102df565b905061037f8282610338565b919050565b600067ffffffffffffffff82111561039f5761039e610309565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103e0826103b5565b9050919050565b6103f0816103d5565b81146103fb57600080fd5b50565b60008151905061040d816103e7565b92915050565b600061042661042184610384565b610369565b90508083825260208201905060208402830185811115610449576104486103b0565b5b835b81811015610472578061045e88826103fe565b84526020840193505060208101905061044b565b5050509392505050565b600082601f830112610491576104906102f3565b5b81516104a1848260208601610413565b91505092915050565b6000602082840312156104c0576104bf6102e9565b5b600082015167ffffffffffffffff8111156104de576104dd6102ee565b5b6104ea8482850161047c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61052b816103d5565b82525050565b60006020820190506105466000830184610522565b92915050565b60008115159050919050565b6105618161054c565b811461056c57600080fd5b50565b60008151905061057e81610558565b92915050565b60006020828403121561059a576105996102e9565b5b60006105a88482850161056f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006105f5826105e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610627576106266105b1565b5b600182019050919050565b603f806106406000396000f3fe6080604052600080fdfea2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x68581EBD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9B SWAP2 SWAP1 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFFB0A4A0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127 SWAP2 SWAP1 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x1FA JUMPI PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D1F0BB9 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x4F3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19C SWAP2 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DD SWAP2 SWAP1 PUSH2 0x584 JUMP JUMPDEST ISZERO PUSH2 0x1E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH2 0x1F2 SWAP1 PUSH2 0x5EA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12C JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2CC JUMPI PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xEB421F3B DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x24A JUMPI PUSH2 0x249 PUSH2 0x4F3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26E SWAP2 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x584 JUMP JUMPDEST ISZERO PUSH2 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH2 0x2C4 SWAP1 PUSH2 0x5EA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1FE JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x2D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x632 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x341 DUP3 PUSH2 0x2F8 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x360 JUMPI PUSH2 0x35F PUSH2 0x309 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x373 PUSH2 0x2DF JUMP JUMPDEST SWAP1 POP PUSH2 0x37F DUP3 DUP3 PUSH2 0x338 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x39F JUMPI PUSH2 0x39E PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E0 DUP3 PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3F0 DUP2 PUSH2 0x3D5 JUMP JUMPDEST DUP2 EQ PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x40D DUP2 PUSH2 0x3E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426 PUSH2 0x421 DUP5 PUSH2 0x384 JUMP JUMPDEST PUSH2 0x369 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x449 JUMPI PUSH2 0x448 PUSH2 0x3B0 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x472 JUMPI DUP1 PUSH2 0x45E DUP9 DUP3 PUSH2 0x3FE JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x44B JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x491 JUMPI PUSH2 0x490 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x413 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C0 JUMPI PUSH2 0x4BF PUSH2 0x2E9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x2EE JUMP JUMPDEST JUMPDEST PUSH2 0x4EA DUP5 DUP3 DUP6 ADD PUSH2 0x47C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x52B DUP2 PUSH2 0x3D5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x546 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x522 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x561 DUP2 PUSH2 0x54C JUMP JUMPDEST DUP2 EQ PUSH2 0x56C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x57E DUP2 PUSH2 0x558 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59A JUMPI PUSH2 0x599 PUSH2 0x2E9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5A8 DUP5 DUP3 DUP6 ADD PUSH2 0x56F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F5 DUP3 PUSH2 0x5E0 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x627 JUMPI PUSH2 0x626 PUSH2 0x5B1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x3F DUP1 PUSH2 0x640 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE7 DIV SIGNEXTEND 0xDE 0x5C 0xB9 GAS 0xC6 0xD6 0xC8 PUSH16 0xFE7AD234128734F49513F591595D4810 ADD 0xCF 0x4B MOD 0xBF PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "306:496:0:-:0;;;424:376;;;;;;;;;;449:22;375:42;474:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;449:41;;500:23;375:42;526:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;500:40;;555:10;550:98;572:5;:12;567:2;:17;550:98;;;375:42;614:11;;;626:5;632:2;626:9;;;;;;;;:::i;:::-;;;;;;;;614:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;613:23;605:32;;;;;;586:4;;;;;:::i;:::-;;;;550:98;;;;662:10;657:113;679:6;:13;674:2;:18;657:113;;;375:42;722:24;;;747:6;754:2;747:10;;;;;;;;:::i;:::-;;;;;;;;722:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;721:37;713:46;;;;;;694:4;;;;;:::i;:::-;;;;657:113;;;;787:5;779:14;;;;;;439:361;;306:496;;7:75:1;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:554::-;3382:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:119;;;3437:79;;:::i;:::-;3399:119;3578:1;3567:9;3563:17;3557:24;3608:18;3600:6;3597:30;3594:117;;;3630:79;;:::i;:::-;3594:117;3735:89;3816:7;3807:6;3796:9;3792:22;3735:89;:::i;:::-;3725:99;;3528:306;3287:554;;;;:::o;3847:180::-;3895:77;3892:1;3885:88;3992:4;3989:1;3982:15;4016:4;4013:1;4006:15;4033:118;4120:24;4138:5;4120:24;:::i;:::-;4115:3;4108:37;4033:118;;:::o;4157:222::-;4250:4;4288:2;4277:9;4273:18;4265:26;;4301:71;4369:1;4358:9;4354:17;4345:6;4301:71;:::i;:::-;4157:222;;;;:::o;4385:90::-;4419:7;4462:5;4455:13;4448:21;4437:32;;4385:90;;;:::o;4481:116::-;4551:21;4566:5;4551:21;:::i;:::-;4544:5;4541:32;4531:60;;4587:1;4584;4577:12;4531:60;4481:116;:::o;4603:137::-;4657:5;4688:6;4682:13;4673:22;;4704:30;4728:5;4704:30;:::i;:::-;4603:137;;;;:::o;4746:345::-;4813:6;4862:2;4850:9;4841:7;4837:23;4833:32;4830:119;;;4868:79;;:::i;:::-;4830:119;4988:1;5013:61;5066:7;5057:6;5046:9;5042:22;5013:61;:::i;:::-;5003:71;;4959:125;4746:345;;;;:::o;5097:180::-;5145:77;5142:1;5135:88;5242:4;5239:1;5232:15;5266:4;5263:1;5256:15;5283:77;5320:7;5349:5;5338:16;;5283:77;;;:::o;5366:233::-;5405:3;5428:24;5446:5;5428:24;:::i;:::-;5419:33;;5474:66;5467:5;5464:77;5461:103;;5544:18;;:::i;:::-;5461:103;5591:1;5584:5;5580:13;5573:20;;5366:233;;;:::o;306:496:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE7 DIV SIGNEXTEND 0xDE 0x5C 0xB9 GAS 0xC6 0xD6 0xC8 PUSH16 0xFE7AD234128734F49513F591595D4810 ADD 0xCF 0x4B MOD 0xBF PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "306:496:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "infinite",
"totalCost": "infinite"
}
},
"methodIdentifiers": {}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/TestKeep3rV1Deprecation.sol": "TestDeprecation"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/TestKeep3rV1Deprecation.sol": {
"keccak256": "0x402a3319453d598e411a675ac7d58c4040373047b76f081dad46f1161be05c0d",
"urls": [
"bzz-raw://6939190cd7dea1127a54c562871954cf41869610b5917bb366a64920796ee012",
"dweb:/ipfs/QmRW464GmHccDrK2TP2mheXLF3jYDhSE8nDDBQJVVn1LFJ"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.19;
import {ISAFEEngine} from '../interfaces/ISAFEEngine.sol';
import {console} from 'hardhat/console.sol';
contract GetSafeEngineData {
ISAFEEngine constant safeEngine = ISAFEEngine(0xDfd2D62b3eC9BF6F52547c570B5AC2136D9756E4);
bytes32 public constant WETH = bytes32('WETH');
bytes32 public constant OP = bytes32('OP');
event LogUint(string, uint256);
function getData(bytes32 _cType) external {
ISAFEEngine.SAFEEngineCollateralData memory _cData = safeEngine.cData(_cType);
emit LogUint('debtAmount', _cData.debtAmount);
emit LogUint('accumulatedRate', _cData.accumulatedRate);
emit LogUint('safetyPrice', _cData.safetyPrice);
emit LogUint('liquidationPrice', _cData.liquidationPrice);
}
}
pragma solidity ^0.8.19;
interface IKeep3rV1 {
function getJobs() external view returns (address[] memory);
function pairs() external view returns (address[] memory);
function jobs(address) external view returns (bool);
function liquidityAccepted(address) external view returns (bool);
}
contract TestDeprecation {
IKeep3rV1 constant KEEP3R = IKeep3rV1(0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44);
constructor () {
address[] memory _jobs = KEEP3R.getJobs();
address[] memory _pairs = KEEP3R.pairs();
for (uint256 _i; _i < _jobs.length; _i++){
require(!KEEP3R.jobs(_jobs[_i]));
}
for (uint256 _i; _i < _pairs.length; _i++){
require(!KEEP3R.liquidityAccepted(_pairs[_i]));
}
require(false);
}
}
abstract contract Test is Scope{
function test_liquidation public {
vm.expectRevert('safe-not-unsafe');
_liquidateSafe(address(this));
}
}
abstract contract Scope {
function _liquidateSafe(address) internal;
}
contract TestForUsers is Test {
function _liquidateSafe(address _safe) internal {
safeEngine.liquidateSafe(_safe);
}
}
// creating another test for proxy implementation
contract TestForProxies is Test {
function _liquidateSafe(address _safeOwner) internal {
// makes an external call and it doesn't revert
address _safe = proxy.getSafe(_safeOwner);
// the call that reverts
safeEngine.liquidateSafe(_safe);
}
}
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;
interface IDelayedOracle {
function updateResult() external;
}
interface IOracleRelayer {
function updateCollateralPrice(bytes32) external;
}
interface IPidRateSetter {
function updateRate() external;
}
contract OracleUpdater {
function updateWethOracle() external {
IDelayedOracle(0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25).updateResult();
IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('WETH'));
}
function updateOpOracle() external {
IDelayedOracle(0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D).updateResult();
IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('OP'));
}
function updateRedemptionRate() external {
IPidRateSetter(0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47).updateRate();
}
}
This file has been truncated, but you can view the full file.
{
"id": "384c2d5636db1e714e139fd930ca922f",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"scripts/TestKeep3rV1Deprecation.sol": {
"content": "pragma solidity ^0.8.19;\n\ninterface IKeep3rV1 {\n function getJobs() external view returns (address[] memory);\n function pairs() external view returns (address[] memory);\n function jobs(address) external view returns (bool);\n function liquidityAccepted(address) external view returns (bool);\n}\n\ncontract TestDeprecation {\n IKeep3rV1 constant KEEP3R = IKeep3rV1(0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44);\n constructor () {\n address[] memory _jobs = KEEP3R.getJobs();\n address[] memory _pairs = KEEP3R.pairs();\n for (uint256 _i; _i < _jobs.length; _i++){\n require(!KEEP3R.jobs(_jobs[_i]));\n }\n for (uint256 _i; _i < _pairs.length; _i++){\n require(!KEEP3R.liquidityAccepted(_pairs[_i]));\n }\n require(false);\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": {
"scripts/TestKeep3rV1Deprecation.sol": {
"IKeep3rV1": {
"abi": [
{
"inputs": [],
"name": "getJobs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "jobs",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "liquidityAccepted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pairs",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"getJobs()": "68581ebd",
"jobs(address)": "3d1f0bb9",
"liquidityAccepted(address)": "eb421f3b",
"pairs()": "ffb0a4a0"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getJobs\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"jobs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"liquidityAccepted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pairs\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/TestKeep3rV1Deprecation.sol\":\"IKeep3rV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/TestKeep3rV1Deprecation.sol\":{\"keccak256\":\"0x402a3319453d598e411a675ac7d58c4040373047b76f081dad46f1161be05c0d\",\"urls\":[\"bzz-raw://6939190cd7dea1127a54c562871954cf41869610b5917bb366a64920796ee012\",\"dweb:/ipfs/QmRW464GmHccDrK2TP2mheXLF3jYDhSE8nDDBQJVVn1LFJ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"TestDeprecation": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"scripts/TestKeep3rV1Deprecation.sol\":306:802 contract TestDeprecation {... */\n mstore(0x40, 0x80)\n /* \"scripts/TestKeep3rV1Deprecation.sol\":424:800 constructor () {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":449:471 address[] memory _jobs */\n 0x00\n /* \"scripts/TestKeep3rV1Deprecation.sol\":375:417 0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44 */\n 0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44\n /* \"scripts/TestKeep3rV1Deprecation.sol\":474:488 KEEP3R.getJobs */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x68581ebd\n /* \"scripts/TestKeep3rV1Deprecation.sol\":474:490 KEEP3R.getJobs() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_5\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_5:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n 0x00\n dup3\n returndatacopy\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\ntag_6:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":449:490 address[] memory _jobs = KEEP3R.getJobs() */\n swap1\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":500:523 address[] memory _pairs */\n 0x00\n /* \"scripts/TestKeep3rV1Deprecation.sol\":375:417 0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44 */\n 0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44\n /* \"scripts/TestKeep3rV1Deprecation.sol\":526:538 KEEP3R.pairs */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffb0a4a0\n /* \"scripts/TestKeep3rV1Deprecation.sol\":526:540 KEEP3R.pairs() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_9\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_9:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n 0x00\n dup3\n returndatacopy\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_7\n jump\t// in\ntag_10:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":500:540 address[] memory _pairs = KEEP3R.pairs() */\n swap1\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":555:565 uint256 _i */\n 0x00\n /* \"scripts/TestKeep3rV1Deprecation.sol\":550:648 for (uint256 _i; _i < _jobs.length; _i++){... */\ntag_11:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":572:577 _jobs */\n dup3\n /* \"scripts/TestKeep3rV1Deprecation.sol\":572:584 _jobs.length */\n mload\n /* \"scripts/TestKeep3rV1Deprecation.sol\":567:569 _i */\n dup2\n /* \"scripts/TestKeep3rV1Deprecation.sol\":567:584 _i < _jobs.length */\n lt\n /* \"scripts/TestKeep3rV1Deprecation.sol\":550:648 for (uint256 _i; _i < _jobs.length; _i++){... */\n iszero\n tag_12\n jumpi\n /* \"scripts/TestKeep3rV1Deprecation.sol\":375:417 0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44 */\n 0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44\n /* \"scripts/TestKeep3rV1Deprecation.sol\":614:625 KEEP3R.jobs */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x3d1f0bb9\n /* \"scripts/TestKeep3rV1Deprecation.sol\":626:631 _jobs */\n dup5\n /* \"scripts/TestKeep3rV1Deprecation.sol\":632:634 _i */\n dup4\n /* \"scripts/TestKeep3rV1Deprecation.sol\":626:635 _jobs[_i] */\n dup2\n mload\n dup2\n lt\n tag_14\n jumpi\n tag_15\n tag_16\n jump\t// in\ntag_15:\ntag_14:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"scripts/TestKeep3rV1Deprecation.sol\":614:636 KEEP3R.jobs(_jobs[_i]) */\n mload(0x40)\n dup3\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\ntag_17:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_20\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_20:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\ntag_21:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":613:636 !KEEP3R.jobs(_jobs[_i]) */\n iszero\n /* \"scripts/TestKeep3rV1Deprecation.sol\":605:637 require(!KEEP3R.jobs(_jobs[_i])) */\n tag_23\n jumpi\n 0x00\n dup1\n revert\ntag_23:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":586:590 _i++ */\n dup1\n dup1\n tag_24\n swap1\n tag_25\n jump\t// in\ntag_24:\n swap2\n pop\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":550:648 for (uint256 _i; _i < _jobs.length; _i++){... */\n jump(tag_11)\ntag_12:\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":662:672 uint256 _i */\n 0x00\n /* \"scripts/TestKeep3rV1Deprecation.sol\":657:770 for (uint256 _i; _i < _pairs.length; _i++){... */\ntag_26:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":679:685 _pairs */\n dup2\n /* \"scripts/TestKeep3rV1Deprecation.sol\":679:692 _pairs.length */\n mload\n /* \"scripts/TestKeep3rV1Deprecation.sol\":674:676 _i */\n dup2\n /* \"scripts/TestKeep3rV1Deprecation.sol\":674:692 _i < _pairs.length */\n lt\n /* \"scripts/TestKeep3rV1Deprecation.sol\":657:770 for (uint256 _i; _i < _pairs.length; _i++){... */\n iszero\n tag_27\n jumpi\n /* \"scripts/TestKeep3rV1Deprecation.sol\":375:417 0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44 */\n 0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44\n /* \"scripts/TestKeep3rV1Deprecation.sol\":722:746 KEEP3R.liquidityAccepted */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xeb421f3b\n /* \"scripts/TestKeep3rV1Deprecation.sol\":747:753 _pairs */\n dup4\n /* \"scripts/TestKeep3rV1Deprecation.sol\":754:756 _i */\n dup4\n /* \"scripts/TestKeep3rV1Deprecation.sol\":747:757 _pairs[_i] */\n dup2\n mload\n dup2\n lt\n tag_29\n jumpi\n tag_30\n tag_16\n jump\t// in\ntag_30:\ntag_29:\n 0x20\n mul\n 0x20\n add\n add\n mload\n /* \"scripts/TestKeep3rV1Deprecation.sol\":722:758 KEEP3R.liquidityAccepted(_pairs[_i]) */\n mload(0x40)\n dup3\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_31\n swap2\n swap1\n tag_18\n jump\t// in\ntag_31:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_33:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_34\n swap2\n swap1\n tag_22\n jump\t// in\ntag_34:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":721:758 !KEEP3R.liquidityAccepted(_pairs[_i]) */\n iszero\n /* \"scripts/TestKeep3rV1Deprecation.sol\":713:759 require(!KEEP3R.liquidityAccepted(_pairs[_i])) */\n tag_35\n jumpi\n 0x00\n dup1\n revert\ntag_35:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":694:698 _i++ */\n dup1\n dup1\n tag_36\n swap1\n tag_25\n jump\t// in\ntag_36:\n swap2\n pop\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":657:770 for (uint256 _i; _i < _pairs.length; _i++){... */\n jump(tag_26)\ntag_27:\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":787:792 false */\n 0x00\n /* \"scripts/TestKeep3rV1Deprecation.sol\":779:793 require(false) */\n tag_37\n jumpi\n 0x00\n dup1\n revert\ntag_37:\n /* \"scripts/TestKeep3rV1Deprecation.sol\":439:800 {... */\n pop\n pop\n /* \"scripts/TestKeep3rV1Deprecation.sol\":306:802 contract TestDeprecation {... */\n jump(tag_38)\n /* \"#utility.yul\":7:82 */\ntag_39:\n /* \"#utility.yul\":40:46 */\n 0x00\n /* \"#utility.yul\":73:75 */\n 0x40\n /* \"#utility.yul\":67:76 */\n mload\n /* \"#utility.yul\":57:76 */\n swap1\n pop\n /* \"#utility.yul\":7:82 */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\ntag_40:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\ntag_41:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:451 */\ntag_42:\n /* \"#utility.yul\":443:444 */\n 0x00\n /* \"#utility.yul\":440:441 */\n dup1\n /* \"#utility.yul\":433:445 */\n revert\n /* \"#utility.yul\":457:559 */\ntag_43:\n /* \"#utility.yul\":498:504 */\n 0x00\n /* \"#utility.yul\":549:551 */\n 0x1f\n /* \"#utility.yul\":545:552 */\n not\n /* \"#utility.yul\":540:542 */\n 0x1f\n /* \"#utility.yul\":533:538 */\n dup4\n /* \"#utility.yul\":529:543 */\n add\n /* \"#utility.yul\":525:553 */\n and\n /* \"#utility.yul\":515:553 */\n swap1\n pop\n /* \"#utility.yul\":457:559 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":565:745 */\ntag_44:\n /* \"#utility.yul\":613:690 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":610:611 */\n 0x00\n /* \"#utility.yul\":603:691 */\n mstore\n /* \"#utility.yul\":710:714 */\n 0x41\n /* \"#utility.yul\":707:708 */\n 0x04\n /* \"#utility.yul\":700:715 */\n mstore\n /* \"#utility.yul\":734:738 */\n 0x24\n /* \"#utility.yul\":731:732 */\n 0x00\n /* \"#utility.yul\":724:739 */\n revert\n /* \"#utility.yul\":751:1032 */\ntag_45:\n /* \"#utility.yul\":834:861 */\n tag_69\n /* \"#utility.yul\":856:860 */\n dup3\n /* \"#utility.yul\":834:861 */\n tag_43\n jump\t// in\ntag_69:\n /* \"#utility.yul\":826:832 */\n dup2\n /* \"#utility.yul\":822:862 */\n add\n /* \"#utility.yul\":964:970 */\n dup2\n /* \"#utility.yul\":952:962 */\n dup2\n /* \"#utility.yul\":949:971 */\n lt\n /* \"#utility.yul\":928:946 */\n 0xffffffffffffffff\n /* \"#utility.yul\":916:926 */\n dup3\n /* \"#utility.yul\":913:947 */\n gt\n /* \"#utility.yul\":910:972 */\n or\n /* \"#utility.yul\":907:995 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":975:993 */\n tag_71\n tag_44\n jump\t// in\ntag_71:\n /* \"#utility.yul\":907:995 */\ntag_70:\n /* \"#utility.yul\":1015:1025 */\n dup1\n /* \"#utility.yul\":1011:1013 */\n 0x40\n /* \"#utility.yul\":1004:1026 */\n mstore\n /* \"#utility.yul\":794:1032 */\n pop\n /* \"#utility.yul\":751:1032 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1038:1167 */\ntag_46:\n /* \"#utility.yul\":1072:1078 */\n 0x00\n /* \"#utility.yul\":1099:1119 */\n tag_73\n tag_39\n jump\t// in\ntag_73:\n /* \"#utility.yul\":1089:1119 */\n swap1\n pop\n /* \"#utility.yul\":1128:1161 */\n tag_74\n /* \"#utility.yul\":1156:1160 */\n dup3\n /* \"#utility.yul\":1148:1154 */\n dup3\n /* \"#utility.yul\":1128:1161 */\n tag_45\n jump\t// in\ntag_74:\n /* \"#utility.yul\":1038:1167 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1173:1484 */\ntag_47:\n /* \"#utility.yul\":1250:1254 */\n 0x00\n /* \"#utility.yul\":1340:1358 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1332:1338 */\n dup3\n /* \"#utility.yul\":1329:1359 */\n gt\n /* \"#utility.yul\":1326:1382 */\n iszero\n tag_76\n jumpi\n /* \"#utility.yul\":1362:1380 */\n tag_77\n tag_44\n jump\t// in\ntag_77:\n /* \"#utility.yul\":1326:1382 */\ntag_76:\n /* \"#utility.yul\":1412:1416 */\n 0x20\n /* \"#utility.yul\":1404:1410 */\n dup3\n /* \"#utility.yul\":1400:1417 */\n mul\n /* \"#utility.yul\":1392:1417 */\n swap1\n pop\n /* \"#utility.yul\":1472:1476 */\n 0x20\n /* \"#utility.yul\":1466:1470 */\n dup2\n /* \"#utility.yul\":1462:1477 */\n add\n /* \"#utility.yul\":1454:1477 */\n swap1\n pop\n /* \"#utility.yul\":1173:1484 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1490:1607 */\ntag_48:\n /* \"#utility.yul\":1599:1600 */\n 0x00\n /* \"#utility.yul\":1596:1597 */\n dup1\n /* \"#utility.yul\":1589:1601 */\n revert\n /* \"#utility.yul\":1613:1739 */\ntag_49:\n /* \"#utility.yul\":1650:1657 */\n 0x00\n /* \"#utility.yul\":1690:1732 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1683:1688 */\n dup3\n /* \"#utility.yul\":1679:1733 */\n and\n /* \"#utility.yul\":1668:1733 */\n swap1\n pop\n /* \"#utility.yul\":1613:1739 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1745:1841 */\ntag_50:\n /* \"#utility.yul\":1782:1789 */\n 0x00\n /* \"#utility.yul\":1811:1835 */\n tag_81\n /* \"#utility.yul\":1829:1834 */\n dup3\n /* \"#utility.yul\":1811:1835 */\n tag_49\n jump\t// in\ntag_81:\n /* \"#utility.yul\":1800:1835 */\n swap1\n pop\n /* \"#utility.yul\":1745:1841 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1847:1969 */\ntag_51:\n /* \"#utility.yul\":1920:1944 */\n tag_83\n /* \"#utility.yul\":1938:1943 */\n dup2\n /* \"#utility.yul\":1920:1944 */\n tag_50\n jump\t// in\ntag_83:\n /* \"#utility.yul\":1913:1918 */\n dup2\n /* \"#utility.yul\":1910:1945 */\n eq\n /* \"#utility.yul\":1900:1963 */\n tag_84\n jumpi\n /* \"#utility.yul\":1959:1960 */\n 0x00\n /* \"#utility.yul\":1956:1957 */\n dup1\n /* \"#utility.yul\":1949:1961 */\n revert\n /* \"#utility.yul\":1900:1963 */\ntag_84:\n /* \"#utility.yul\":1847:1969 */\n pop\n jump\t// out\n /* \"#utility.yul\":1975:2118 */\ntag_52:\n /* \"#utility.yul\":2032:2037 */\n 0x00\n /* \"#utility.yul\":2063:2069 */\n dup2\n /* \"#utility.yul\":2057:2070 */\n mload\n /* \"#utility.yul\":2048:2070 */\n swap1\n pop\n /* \"#utility.yul\":2079:2112 */\n tag_86\n /* \"#utility.yul\":2106:2111 */\n dup2\n /* \"#utility.yul\":2079:2112 */\n tag_51\n jump\t// in\ntag_86:\n /* \"#utility.yul\":1975:2118 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2141:2873 */\ntag_53:\n /* \"#utility.yul\":2248:2253 */\n 0x00\n /* \"#utility.yul\":2273:2354 */\n tag_88\n /* \"#utility.yul\":2289:2353 */\n tag_89\n /* \"#utility.yul\":2346:2352 */\n dup5\n /* \"#utility.yul\":2289:2353 */\n tag_47\n jump\t// in\ntag_89:\n /* \"#utility.yul\":2273:2354 */\n tag_46\n jump\t// in\ntag_88:\n /* \"#utility.yul\":2264:2354 */\n swap1\n pop\n /* \"#utility.yul\":2374:2379 */\n dup1\n /* \"#utility.yul\":2403:2409 */\n dup4\n /* \"#utility.yul\":2396:2401 */\n dup3\n /* \"#utility.yul\":2389:2410 */\n mstore\n /* \"#utility.yul\":2437:2441 */\n 0x20\n /* \"#utility.yul\":2430:2435 */\n dup3\n /* \"#utility.yul\":2426:2442 */\n add\n /* \"#utility.yul\":2419:2442 */\n swap1\n pop\n /* \"#utility.yul\":2490:2494 */\n 0x20\n /* \"#utility.yul\":2482:2488 */\n dup5\n /* \"#utility.yul\":2478:2495 */\n mul\n /* \"#utility.yul\":2470:2476 */\n dup4\n /* \"#utility.yul\":2466:2496 */\n add\n /* \"#utility.yul\":2519:2522 */\n dup6\n /* \"#utility.yul\":2511:2517 */\n dup2\n /* \"#utility.yul\":2508:2523 */\n gt\n /* \"#utility.yul\":2505:2627 */\n iszero\n tag_90\n jumpi\n /* \"#utility.yul\":2538:2617 */\n tag_91\n tag_48\n jump\t// in\ntag_91:\n /* \"#utility.yul\":2505:2627 */\ntag_90:\n /* \"#utility.yul\":2653:2659 */\n dup4\n /* \"#utility.yul\":2636:2867 */\ntag_92:\n /* \"#utility.yul\":2670:2676 */\n dup2\n /* \"#utility.yul\":2665:2668 */\n dup2\n /* \"#utility.yul\":2662:2677 */\n lt\n /* \"#utility.yul\":2636:2867 */\n iszero\n tag_94\n jumpi\n /* \"#utility.yul\":2745:2748 */\n dup1\n /* \"#utility.yul\":2774:2822 */\n tag_95\n /* \"#utility.yul\":2818:2821 */\n dup9\n /* \"#utility.yul\":2806:2816 */\n dup3\n /* \"#utility.yul\":2774:2822 */\n tag_52\n jump\t// in\ntag_95:\n /* \"#utility.yul\":2769:2772 */\n dup5\n /* \"#utility.yul\":2762:2823 */\n mstore\n /* \"#utility.yul\":2852:2856 */\n 0x20\n /* \"#utility.yul\":2847:2850 */\n dup5\n /* \"#utility.yul\":2843:2857 */\n add\n /* \"#utility.yul\":2836:2857 */\n swap4\n pop\n /* \"#utility.yul\":2712:2867 */\n pop\n /* \"#utility.yul\":2696:2700 */\n 0x20\n /* \"#utility.yul\":2691:2694 */\n dup2\n /* \"#utility.yul\":2687:2701 */\n add\n /* \"#utility.yul\":2680:2701 */\n swap1\n pop\n /* \"#utility.yul\":2636:2867 */\n jump(tag_92)\ntag_94:\n /* \"#utility.yul\":2640:2661 */\n pop\n /* \"#utility.yul\":2254:2873 */\n pop\n pop\n /* \"#utility.yul\":2141:2873 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2896:3281 */\ntag_54:\n /* \"#utility.yul\":2978:2983 */\n 0x00\n /* \"#utility.yul\":3027:3030 */\n dup3\n /* \"#utility.yul\":3020:3024 */\n 0x1f\n /* \"#utility.yul\":3012:3018 */\n dup4\n /* \"#utility.yul\":3008:3025 */\n add\n /* \"#utility.yul\":3004:3031 */\n slt\n /* \"#utility.yul\":2994:3116 */\n tag_97\n jumpi\n /* \"#utility.yul\":3035:3114 */\n tag_98\n tag_42\n jump\t// in\ntag_98:\n /* \"#utility.yul\":2994:3116 */\ntag_97:\n /* \"#utility.yul\":3145:3151 */\n dup2\n /* \"#utility.yul\":3139:3152 */\n mload\n /* \"#utility.yul\":3170:3275 */\n tag_99\n /* \"#utility.yul\":3271:3274 */\n dup5\n /* \"#utility.yul\":3263:3269 */\n dup3\n /* \"#utility.yul\":3256:3260 */\n 0x20\n /* \"#utility.yul\":3248:3254 */\n dup7\n /* \"#utility.yul\":3244:3261 */\n add\n /* \"#utility.yul\":3170:3275 */\n tag_53\n jump\t// in\ntag_99:\n /* \"#utility.yul\":3161:3275 */\n swap2\n pop\n /* \"#utility.yul\":2984:3281 */\n pop\n /* \"#utility.yul\":2896:3281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3287:3841 */\ntag_7:\n /* \"#utility.yul\":3382:3388 */\n 0x00\n /* \"#utility.yul\":3431:3433 */\n 0x20\n /* \"#utility.yul\":3419:3428 */\n dup3\n /* \"#utility.yul\":3410:3417 */\n dup5\n /* \"#utility.yul\":3406:3429 */\n sub\n /* \"#utility.yul\":3402:3434 */\n slt\n /* \"#utility.yul\":3399:3518 */\n iszero\n tag_101\n jumpi\n /* \"#utility.yul\":3437:3516 */\n tag_102\n tag_40\n jump\t// in\ntag_102:\n /* \"#utility.yul\":3399:3518 */\ntag_101:\n /* \"#utility.yul\":3578:3579 */\n 0x00\n /* \"#utility.yul\":3567:3576 */\n dup3\n /* \"#utility.yul\":3563:3580 */\n add\n /* \"#utility.yul\":3557:3581 */\n mload\n /* \"#utility.yul\":3608:3626 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3600:3606 */\n dup2\n /* \"#utility.yul\":3597:3627 */\n gt\n /* \"#utility.yul\":3594:3711 */\n iszero\n tag_103\n jumpi\n /* \"#utility.yul\":3630:3709 */\n tag_104\n tag_41\n jump\t// in\ntag_104:\n /* \"#utility.yul\":3594:3711 */\ntag_103:\n /* \"#utility.yul\":3735:3824 */\n tag_105\n /* \"#utility.yul\":3816:3823 */\n dup5\n /* \"#utility.yul\":3807:3813 */\n dup3\n /* \"#utility.yul\":3796:3805 */\n dup6\n /* \"#utility.yul\":3792:3814 */\n add\n /* \"#utility.yul\":3735:3824 */\n tag_54\n jump\t// in\ntag_105:\n /* \"#utility.yul\":3725:3824 */\n swap2\n pop\n /* \"#utility.yul\":3528:3834 */\n pop\n /* \"#utility.yul\":3287:3841 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3847:4027 */\ntag_16:\n /* \"#utility.yul\":3895:3972 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3892:3893 */\n 0x00\n /* \"#utility.yul\":3885:3973 */\n mstore\n /* \"#utility.yul\":3992:3996 */\n 0x32\n /* \"#utility.yul\":3989:3990 */\n 0x04\n /* \"#utility.yul\":3982:3997 */\n mstore\n /* \"#utility.yul\":4016:4020 */\n 0x24\n /* \"#utility.yul\":4013:4014 */\n 0x00\n /* \"#utility.yul\":4006:4021 */\n revert\n /* \"#utility.yul\":4033:4151 */\ntag_55:\n /* \"#utility.yul\":4120:4144 */\n tag_108\n /* \"#utility.yul\":4138:4143 */\n dup2\n /* \"#utility.yul\":4120:4144 */\n tag_50\n jump\t// in\ntag_108:\n /* \"#utility.yul\":4115:4118 */\n dup3\n /* \"#utility.yul\":4108:4145 */\n mstore\n /* \"#utility.yul\":4033:4151 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4157:4379 */\ntag_18:\n /* \"#utility.yul\":4250:4254 */\n 0x00\n /* \"#utility.yul\":4288:4290 */\n 0x20\n /* \"#utility.yul\":4277:4286 */\n dup3\n /* \"#utility.yul\":4273:4291 */\n add\n /* \"#utility.yul\":4265:4291 */\n swap1\n pop\n /* \"#utility.yul\":4301:4372 */\n tag_110\n /* \"#utility.yul\":4369:4370 */\n 0x00\n /* \"#utility.yul\":4358:4367 */\n dup4\n /* \"#utility.yul\":4354:4371 */\n add\n /* \"#utility.yul\":4345:4351 */\n dup5\n /* \"#utility.yul\":4301:4372 */\n tag_55\n jump\t// in\ntag_110:\n /* \"#utility.yul\":4157:4379 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4385:4475 */\ntag_56:\n /* \"#utility.yul\":4419:4426 */\n 0x00\n /* \"#utility.yul\":4462:4467 */\n dup2\n /* \"#utility.yul\":4455:4468 */\n iszero\n /* \"#utility.yul\":4448:4469 */\n iszero\n /* \"#utility.yul\":4437:4469 */\n swap1\n pop\n /* \"#utility.yul\":4385:4475 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4481:4597 */\ntag_57:\n /* \"#utility.yul\":4551:4572 */\n tag_113\n /* \"#utility.yul\":4566:4571 */\n dup2\n /* \"#utility.yul\":4551:4572 */\n tag_56\n jump\t// in\ntag_113:\n /* \"#utility.yul\":4544:4549 */\n dup2\n /* \"#utility.yul\":4541:4573 */\n eq\n /* \"#utility.yul\":4531:4591 */\n tag_114\n jumpi\n /* \"#utility.yul\":4587:4588 */\n 0x00\n /* \"#utility.yul\":4584:4585 */\n dup1\n /* \"#utility.yul\":4577:4589 */\n revert\n /* \"#utility.yul\":4531:4591 */\ntag_114:\n /* \"#utility.yul\":4481:4597 */\n pop\n jump\t// out\n /* \"#utility.yul\":4603:4740 */\ntag_58:\n /* \"#utility.yul\":4657:4662 */\n 0x00\n /* \"#utility.yul\":4688:4694 */\n dup2\n /* \"#utility.yul\":4682:4695 */\n mload\n /* \"#utility.yul\":4673:4695 */\n swap1\n pop\n /* \"#utility.yul\":4704:4734 */\n tag_116\n /* \"#utility.yul\":4728:4733 */\n dup2\n /* \"#utility.yul\":4704:4734 */\n tag_57\n jump\t// in\ntag_116:\n /* \"#utility.yul\":4603:4740 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4746:5091 */\ntag_22:\n /* \"#utility.yul\":4813:4819 */\n 0x00\n /* \"#utility.yul\":4862:4864 */\n 0x20\n /* \"#utility.yul\":4850:4859 */\n dup3\n /* \"#utility.yul\":4841:4848 */\n dup5\n /* \"#utility.yul\":4837:4860 */\n sub\n /* \"#utility.yul\":4833:4865 */\n slt\n /* \"#utility.yul\":4830:4949 */\n iszero\n tag_118\n jumpi\n /* \"#utility.yul\":4868:4947 */\n tag_119\n tag_40\n jump\t// in\ntag_119:\n /* \"#utility.yul\":4830:4949 */\ntag_118:\n /* \"#utility.yul\":4988:4989 */\n 0x00\n /* \"#utility.yul\":5013:5074 */\n tag_120\n /* \"#utility.yul\":5066:5073 */\n dup5\n /* \"#utility.yul\":5057:5063 */\n dup3\n /* \"#utility.yul\":5046:5055 */\n dup6\n /* \"#utility.yul\":5042:5064 */\n add\n /* \"#utility.yul\":5013:5074 */\n tag_58\n jump\t// in\ntag_120:\n /* \"#utility.yul\":5003:5074 */\n swap2\n pop\n /* \"#utility.yul\":4959:5084 */\n pop\n /* \"#utility.yul\":4746:5091 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5097:5277 */\ntag_59:\n /* \"#utility.yul\":5145:5222 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":5142:5143 */\n 0x00\n /* \"#utility.yul\":5135:5223 */\n mstore\n /* \"#utility.yul\":5242:5246 */\n 0x11\n /* \"#utility.yul\":5239:5240 */\n 0x04\n /* \"#utility.yul\":5232:5247 */\n mstore\n /* \"#utility.yul\":5266:5270 */\n 0x24\n /* \"#utility.yul\":5263:5264 */\n 0x00\n /* \"#utility.yul\":5256:5271 */\n revert\n /* \"#utility.yul\":5283:5360 */\ntag_60:\n /* \"#utility.yul\":5320:5327 */\n 0x00\n /* \"#utility.yul\":5349:5354 */\n dup2\n /* \"#utility.yul\":5338:5354 */\n swap1\n pop\n /* \"#utility.yul\":5283:5360 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5366:5599 */\ntag_25:\n /* \"#utility.yul\":5405:5408 */\n 0x00\n /* \"#utility.yul\":5428:5452 */\n tag_124\n /* \"#utility.yul\":5446:5451 */\n dup3\n /* \"#utility.yul\":5428:5452 */\n tag_60\n jump\t// in\ntag_124:\n /* \"#utility.yul\":5419:5452 */\n swap2\n pop\n /* \"#utility.yul\":5474:5540 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5467:5472 */\n dup3\n /* \"#utility.yul\":5464:5541 */\n sub\n /* \"#utility.yul\":5461:5564 */\n tag_125\n jumpi\n /* \"#utility.yul\":5544:5562 */\n tag_126\n tag_59\n jump\t// in\ntag_126:\n /* \"#utility.yul\":5461:5564 */\ntag_125:\n /* \"#utility.yul\":5591:5592 */\n 0x01\n /* \"#utility.yul\":5584:5589 */\n dup3\n /* \"#utility.yul\":5580:5593 */\n add\n /* \"#utility.yul\":5573:5593 */\n swap1\n pop\n /* \"#utility.yul\":5366:5599 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"scripts/TestKeep3rV1Deprecation.sol\":306:802 contract TestDeprecation {... */\ntag_38:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"scripts/TestKeep3rV1Deprecation.sol\":306:802 contract TestDeprecation {... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {
"@_104": {
"entryPoint": null,
"id": 104,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1043,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 1022,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1148,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1391,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory": {
"entryPoint": 1194,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1412,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1314,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1329,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 873,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 735,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_array$_t_address_$dyn_memory_ptr": {
"entryPoint": 900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 981,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1356,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 949,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1504,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 824,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"increment_t_uint256": {
"entryPoint": 1514,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1457,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1267,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 777,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 755,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 944,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 750,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 745,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 760,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 999,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1368,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5602: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": "423:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "505:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "533:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "498:6:1",
"type": ""
}
],
"src": "457:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "593:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "603:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "603:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "710:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "700:6:1"
},
"nodeType": "YulFunctionCall",
"src": "700:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "700:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "731:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "734:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "724:6:1"
},
"nodeType": "YulFunctionCall",
"src": "724:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "724:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "565:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "794:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "804:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "826:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "856:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "834:21:1"
},
"nodeType": "YulFunctionCall",
"src": "834:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "822:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "808:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "973:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "975:16:1"
},
"nodeType": "YulFunctionCall",
"src": "975:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "975:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "916:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "928:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "913:2:1"
},
"nodeType": "YulFunctionCall",
"src": "913:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "952:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "964:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "949:2:1"
},
"nodeType": "YulFunctionCall",
"src": "949:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "910:62:1"
},
"nodeType": "YulIf",
"src": "907:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1011:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "1015:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1004:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1004:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "1004:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "780:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "788:4:1",
"type": ""
}
],
"src": "751:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1079:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1089:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1099:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1099:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1089:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1148:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1156:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1128:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1128:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1128:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1063:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1072:6:1",
"type": ""
}
],
"src": "1038:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1255:229:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1360:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "1362:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1362:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1362:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1332:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1340:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1329:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1329:30:1"
},
"nodeType": "YulIf",
"src": "1326:56:1"
},
{
"nodeType": "YulAssignment",
"src": "1392:25:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1404:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1412:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1400:17:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1392:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1454:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1466:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1472:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1462:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1462:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1454:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1250:4:1",
"type": ""
}
],
"src": "1173:311:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1579:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1596:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1599:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1589:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1589:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "1490:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1658:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1668:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1683:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1690:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1679:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1679:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1668:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1640:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1650:7:1",
"type": ""
}
],
"src": "1613:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1790:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1800:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1829:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1811:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1811:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1800:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1772:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1782:7:1",
"type": ""
}
],
"src": "1745:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1890:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1947:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1956:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1959:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1949:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1949:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1949:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1913:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1938:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1920:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1920:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1910:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1910:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1903:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1903:43:1"
},
"nodeType": "YulIf",
"src": "1900:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1883:5:1",
"type": ""
}
],
"src": "1847:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2038:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2048:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2063:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2057:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2057:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2048:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2106:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "2079:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2079:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2079:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2016:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2024:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2032:5:1",
"type": ""
}
],
"src": "1975:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2254:619:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2264:90:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2346:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2289:56:1"
},
"nodeType": "YulFunctionCall",
"src": "2289:64:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "2273:15:1"
},
"nodeType": "YulFunctionCall",
"src": "2273:81:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2264:5:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2363:16:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "2374:5:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2367:3:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2396:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2403:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2389:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2389:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "2389:21:1"
},
{
"nodeType": "YulAssignment",
"src": "2419:23:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2430:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2437:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2426:16:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2419:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2452:44:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2470:6:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2482:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2490:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2478:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2478:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2466:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2466:30:1"
},
"variables": [
{
"name": "srcEnd",
"nodeType": "YulTypedName",
"src": "2456:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2524:103:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "2538:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2538:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2538:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2511:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2519:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2508:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2508:15:1"
},
"nodeType": "YulIf",
"src": "2505:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2712:155:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2727:21:1",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "2745:3:1"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "2731:10:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2769:3:1"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "2806:10:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2818:3:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "2774:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2774:48:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2762:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2762:61:1"
},
"nodeType": "YulExpressionStatement",
"src": "2762:61:1"
},
{
"nodeType": "YulAssignment",
"src": "2836:21:1",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2847:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2852:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2843:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2843:14:1"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2836:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2665:3:1"
},
{
"name": "srcEnd",
"nodeType": "YulIdentifier",
"src": "2670:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2662:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2662:15:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2678:25:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2680:21:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2691:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2696:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2687:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2687:14:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2680:3:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2640:21:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2642:17:1",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2653:6:1"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2646:3:1",
"type": ""
}
]
}
]
},
"src": "2636:231:1"
}
]
},
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2224:6:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2232:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2240:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2248:5:1",
"type": ""
}
],
"src": "2141:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2984:297:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3033:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3035:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3035:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3035:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3012:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3020:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3008:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3008:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3027:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3004:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3004:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2997:35:1"
},
"nodeType": "YulIf",
"src": "2994:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "3125:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3145:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3139:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3139:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3129:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3161:114:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3248:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3256:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3244:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3244:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3263:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3271:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3170:73:1"
},
"nodeType": "YulFunctionCall",
"src": "3170:105:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "3161:5:1"
}
]
}
]
},
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2962:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2970:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2978:5:1",
"type": ""
}
],
"src": "2896:385:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3389:452:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3435:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3437:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3437:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3437:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3410:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3419:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3406:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3431:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3402:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3402:32:1"
},
"nodeType": "YulIf",
"src": "3399:119:1"
},
{
"nodeType": "YulBlock",
"src": "3528:306:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3543:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3567:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3578:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3563:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3563:17:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3557:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3557:24:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3547:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3628:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "3630:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3630:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3630:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3600:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3608:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3597:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3597:30:1"
},
"nodeType": "YulIf",
"src": "3594:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3725:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3796:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3807:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3792:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3792:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3816:7:1"
}
],
"functionName": {
"name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "3735:56:1"
},
"nodeType": "YulFunctionCall",
"src": "3735:89:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3725:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3359:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3370:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3382:6:1",
"type": ""
}
],
"src": "3287:554:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3875:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3892:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3895:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3885:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3885:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3885:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3989:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3992:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3982:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3982:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3982:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4013:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4016:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4006:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4006:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4006:15:1"
}
]
},
"name": "panic_error_0x32",
"nodeType": "YulFunctionDefinition",
"src": "3847:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4098:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4115:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4138:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "4120:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4120:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4108:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4108:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "4108:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4086:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4093:3:1",
"type": ""
}
],
"src": "4033:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4255:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4265:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4277:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4288:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4273:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4273:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4265:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4358:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4369:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4354:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4301:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4301:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4301:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4227:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4239:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4250:4:1",
"type": ""
}
],
"src": "4157:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4427:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4437:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4462:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4455:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4455:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4448:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4448:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4437:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4409:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4419:7:1",
"type": ""
}
],
"src": "4385:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4521:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4575:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4584:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4587:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4577:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4577:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4577:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4544:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4566:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "4551:14:1"
},
"nodeType": "YulFunctionCall",
"src": "4551:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4541:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4541:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4534:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4534:40:1"
},
"nodeType": "YulIf",
"src": "4531:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4514:5:1",
"type": ""
}
],
"src": "4481:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4663:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4673:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4688:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4682:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4682:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4673:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4728:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "4704:23:1"
},
"nodeType": "YulFunctionCall",
"src": "4704:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "4704:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4641:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4649:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4657:5:1",
"type": ""
}
],
"src": "4603:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4820:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4866:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4868:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4868:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4868:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4841:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4850:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4837:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4862:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4833:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4833:32:1"
},
"nodeType": "YulIf",
"src": "4830:119:1"
},
{
"nodeType": "YulBlock",
"src": "4959:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4974:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4988:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5003:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5046:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5057:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5042:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5042:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5066:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "5013:28:1"
},
"nodeType": "YulFunctionCall",
"src": "5013:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5003:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4801:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4813:6:1",
"type": ""
}
],
"src": "4746:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5125:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5142:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5145:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5135:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5135:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5135:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5239:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5242:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5232:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5232:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5232:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5263:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5266:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5256:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5256:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5256:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5097:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5328:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5338:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5349:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5338:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5310:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5320:7:1",
"type": ""
}
],
"src": "5283:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5409:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5419:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5446:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "5428:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5428:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5419:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5542:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "5544:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5544:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5544:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5467:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5474:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5464:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5464:77:1"
},
"nodeType": "YulIf",
"src": "5461:103:1"
},
{
"nodeType": "YulAssignment",
"src": "5573:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5584:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5591:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5580:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5580:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "5573:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5395:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "5405:3:1",
"type": ""
}
],
"src": "5366:233: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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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 cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(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_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506000731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff166368581ebd6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610072573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061009b91906104aa565b90506000731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff1663ffb0a4a06040518163ffffffff1660e01b8152600401600060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061012791906104aa565b905060005b82518110156101fa57731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff16633d1f0bb9848381518110610178576101776104f3565b5b60200260200101516040518263ffffffff1660e01b815260040161019c9190610531565b602060405180830381865afa1580156101b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101dd9190610584565b156101e757600080fd5b80806101f2906105ea565b91505061012c565b5060005b81518110156102cc57731ceb5cb57c4d4e2b2433641b95dd330a33185a4473ffffffffffffffffffffffffffffffffffffffff1663eb421f3b83838151811061024a576102496104f3565b5b60200260200101516040518263ffffffff1660e01b815260040161026e9190610531565b602060405180830381865afa15801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af9190610584565b156102b957600080fd5b80806102c4906105ea565b9150506101fe565b5060006102d857600080fd5b5050610632565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610341826102f8565b810181811067ffffffffffffffff821117156103605761035f610309565b5b80604052505050565b60006103736102df565b905061037f8282610338565b919050565b600067ffffffffffffffff82111561039f5761039e610309565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103e0826103b5565b9050919050565b6103f0816103d5565b81146103fb57600080fd5b50565b60008151905061040d816103e7565b92915050565b600061042661042184610384565b610369565b90508083825260208201905060208402830185811115610449576104486103b0565b5b835b81811015610472578061045e88826103fe565b84526020840193505060208101905061044b565b5050509392505050565b600082601f830112610491576104906102f3565b5b81516104a1848260208601610413565b91505092915050565b6000602082840312156104c0576104bf6102e9565b5b600082015167ffffffffffffffff8111156104de576104dd6102ee565b5b6104ea8482850161047c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b61052b816103d5565b82525050565b60006020820190506105466000830184610522565b92915050565b60008115159050919050565b6105618161054c565b811461056c57600080fd5b50565b60008151905061057e81610558565b92915050565b60006020828403121561059a576105996102e9565b5b60006105a88482850161056f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006105f5826105e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610627576106266105b1565b5b600182019050919050565b603f806106406000396000f3fe6080604052600080fdfea2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x68581EBD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x9B SWAP2 SWAP1 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFFB0A4A0 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xFE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x127 SWAP2 SWAP1 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x1FA JUMPI PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x3D1F0BB9 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x178 JUMPI PUSH2 0x177 PUSH2 0x4F3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x19C SWAP2 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1DD SWAP2 SWAP1 PUSH2 0x584 JUMP JUMPDEST ISZERO PUSH2 0x1E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH2 0x1F2 SWAP1 PUSH2 0x5EA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x12C JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x2CC JUMPI PUSH20 0x1CEB5CB57C4D4E2B2433641B95DD330A33185A44 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xEB421F3B DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x24A JUMPI PUSH2 0x249 PUSH2 0x4F3 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26E SWAP2 SWAP1 PUSH2 0x531 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x584 JUMP JUMPDEST ISZERO PUSH2 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP1 PUSH2 0x2C4 SWAP1 PUSH2 0x5EA JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1FE JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x2D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x632 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x341 DUP3 PUSH2 0x2F8 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x360 JUMPI PUSH2 0x35F PUSH2 0x309 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x373 PUSH2 0x2DF JUMP JUMPDEST SWAP1 POP PUSH2 0x37F DUP3 DUP3 PUSH2 0x338 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x39F JUMPI PUSH2 0x39E PUSH2 0x309 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3E0 DUP3 PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3F0 DUP2 PUSH2 0x3D5 JUMP JUMPDEST DUP2 EQ PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x40D DUP2 PUSH2 0x3E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426 PUSH2 0x421 DUP5 PUSH2 0x384 JUMP JUMPDEST PUSH2 0x369 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x449 JUMPI PUSH2 0x448 PUSH2 0x3B0 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x472 JUMPI DUP1 PUSH2 0x45E DUP9 DUP3 PUSH2 0x3FE JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x44B JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x491 JUMPI PUSH2 0x490 PUSH2 0x2F3 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x4A1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x413 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4C0 JUMPI PUSH2 0x4BF PUSH2 0x2E9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x2EE JUMP JUMPDEST JUMPDEST PUSH2 0x4EA DUP5 DUP3 DUP6 ADD PUSH2 0x47C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x52B DUP2 PUSH2 0x3D5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x546 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x522 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x561 DUP2 PUSH2 0x54C JUMP JUMPDEST DUP2 EQ PUSH2 0x56C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x57E DUP2 PUSH2 0x558 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59A JUMPI PUSH2 0x599 PUSH2 0x2E9 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5A8 DUP5 DUP3 DUP6 ADD PUSH2 0x56F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F5 DUP3 PUSH2 0x5E0 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x627 JUMPI PUSH2 0x626 PUSH2 0x5B1 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x3F DUP1 PUSH2 0x640 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE7 DIV SIGNEXTEND 0xDE 0x5C 0xB9 GAS 0xC6 0xD6 0xC8 PUSH16 0xFE7AD234128734F49513F591595D4810 ADD 0xCF 0x4B MOD 0xBF PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "306:496:0:-:0;;;424:376;;;;;;;;;;449:22;375:42;474:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;449:41;;500:23;375:42;526:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;500:40;;555:10;550:98;572:5;:12;567:2;:17;550:98;;;375:42;614:11;;;626:5;632:2;626:9;;;;;;;;:::i;:::-;;;;;;;;614:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;613:23;605:32;;;;;;586:4;;;;;:::i;:::-;;;;550:98;;;;662:10;657:113;679:6;:13;674:2;:18;657:113;;;375:42;722:24;;;747:6;754:2;747:10;;;;;;;;:::i;:::-;;;;;;;;722:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;721:37;713:46;;;;;;694:4;;;;;:::i;:::-;;;;657:113;;;;787:5;779:14;;;;;;439:361;;306:496;;7:75:1;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:143::-;2032:5;2063:6;2057:13;2048:22;;2079:33;2106:5;2079:33;:::i;:::-;1975:143;;;;:::o;2141:732::-;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:554::-;3382:6;3431:2;3419:9;3410:7;3406:23;3402:32;3399:119;;;3437:79;;:::i;:::-;3399:119;3578:1;3567:9;3563:17;3557:24;3608:18;3600:6;3597:30;3594:117;;;3630:79;;:::i;:::-;3594:117;3735:89;3816:7;3807:6;3796:9;3792:22;3735:89;:::i;:::-;3725:99;;3528:306;3287:554;;;;:::o;3847:180::-;3895:77;3892:1;3885:88;3992:4;3989:1;3982:15;4016:4;4013:1;4006:15;4033:118;4120:24;4138:5;4120:24;:::i;:::-;4115:3;4108:37;4033:118;;:::o;4157:222::-;4250:4;4288:2;4277:9;4273:18;4265:26;;4301:71;4369:1;4358:9;4354:17;4345:6;4301:71;:::i;:::-;4157:222;;;;:::o;4385:90::-;4419:7;4462:5;4455:13;4448:21;4437:32;;4385:90;;;:::o;4481:116::-;4551:21;4566:5;4551:21;:::i;:::-;4544:5;4541:32;4531:60;;4587:1;4584;4577:12;4531:60;4481:116;:::o;4603:137::-;4657:5;4688:6;4682:13;4673:22;;4704:30;4728:5;4704:30;:::i;:::-;4603:137;;;;:::o;4746:345::-;4813:6;4862:2;4850:9;4841:7;4837:23;4833:32;4830:119;;;4868:79;;:::i;:::-;4830:119;4988:1;5013:61;5066:7;5057:6;5046:9;5042:22;5013:61;:::i;:::-;5003:71;;4959:125;4746:345;;;;:::o;5097:180::-;5145:77;5142:1;5135:88;5242:4;5239:1;5232:15;5266:4;5263:1;5256:15;5283:77;5320:7;5349:5;5338:16;;5283:77;;;:::o;5366:233::-;5405:3;5428:24;5446:5;5428:24;:::i;:::-;5419:33;;5474:66;5467:5;5464:77;5461:103;;5544:18;;:::i;:::-;5461:103;5591:1;5584:5;5580:13;5573:20;;5366:233;;;:::o;306:496:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE7 DIV SIGNEXTEND 0xDE 0x5C 0xB9 GAS 0xC6 0xD6 0xC8 PUSH16 0xFE7AD234128734F49513F591595D4810 ADD 0xCF 0x4B MOD 0xBF PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ",
"sourceMap": "306:496:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "infinite",
"totalCost": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 306,
"end": 802,
"name": "MSTORE",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "DUP1",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "ISZERO",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 424,
"end": 800,
"name": "JUMPI",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 424,
"end": 800,
"name": "DUP1",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "REVERT",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 424,
"end": 800,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 424,
"end": 800,
"name": "POP",
"source": 0
},
{
"begin": 449,
"end": 471,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 375,
"end": 417,
"name": "PUSH",
"source": 0,
"value": "1CEB5CB57C4D4E2B2433641B95DD330A33185A44"
},
{
"begin": 474,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 474,
"end": 488,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "68581EBD"
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 490,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 474,
"end": 490,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 474,
"end": 490,
"name": "SHL",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 474,
"end": 490,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 490,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP4",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "SUB",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP7",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "GAS",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "STATICCALL",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 474,
"end": 490,
"name": "JUMPI",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 490,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 490,
"name": "REVERT",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 474,
"end": 490,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 490,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 490,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 490,
"name": "NOT",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 490,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 490,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 474,
"end": 490,
"name": "SWAP2",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 474,
"end": 490,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 474,
"end": 490,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 474,
"end": 490,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 449,
"end": 490,
"name": "SWAP1",
"source": 0
},
{
"begin": 449,
"end": 490,
"name": "POP",
"source": 0
},
{
"begin": 500,
"end": 523,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 375,
"end": 417,
"name": "PUSH",
"source": 0,
"value": "1CEB5CB57C4D4E2B2433641B95DD330A33185A44"
},
{
"begin": 526,
"end": 538,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 526,
"end": 538,
"name": "AND",
"source": 0
},
{
"begin": 526,
"end": 538,
"name": "PUSH",
"source": 0,
"value": "FFB0A4A0"
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 526,
"end": 540,
"name": "MLOAD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP2",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 526,
"end": 540,
"name": "AND",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 526,
"end": 540,
"name": "SHL",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP2",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "MSTORE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 526,
"end": 540,
"name": "ADD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 526,
"end": 540,
"name": "MLOAD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP4",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "SUB",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP2",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP7",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "GAS",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "STATICCALL",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "ISZERO",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "ISZERO",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 526,
"end": 540,
"name": "JUMPI",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 526,
"end": 540,
"name": "DUP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 526,
"end": 540,
"name": "REVERT",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 526,
"end": 540,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 526,
"end": 540,
"name": "MLOAD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 526,
"end": 540,
"name": "DUP3",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 526,
"end": 540,
"name": "NOT",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 526,
"end": 540,
"name": "DUP3",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "ADD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "AND",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP3",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "ADD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 526,
"end": 540,
"name": "MSTORE",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "DUP2",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "ADD",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "SWAP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 526,
"end": 540,
"name": "SWAP2",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "SWAP1",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 526,
"end": 540,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 526,
"end": 540,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 526,
"end": 540,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 500,
"end": 540,
"name": "SWAP1",
"source": 0
},
{
"begin": 500,
"end": 540,
"name": "POP",
"source": 0
},
{
"begin": 555,
"end": 565,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 550,
"end": 648,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 550,
"end": 648,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 572,
"end": 577,
"name": "DUP3",
"source": 0
},
{
"begin": 572,
"end": 584,
"name": "MLOAD",
"source": 0
},
{
"begin": 567,
"end": 569,
"name": "DUP2",
"source": 0
},
{
"begin": 567,
"end": 584,
"name": "LT",
"source": 0
},
{
"begin": 550,
"end": 648,
"name": "ISZERO",
"source": 0
},
{
"begin": 550,
"end": 648,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 550,
"end": 648,
"name": "JUMPI",
"source": 0
},
{
"begin": 375,
"end": 417,
"name": "PUSH",
"source": 0,
"value": "1CEB5CB57C4D4E2B2433641B95DD330A33185A44"
},
{
"begin": 614,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 614,
"end": 625,
"name": "AND",
"source": 0
},
{
"begin": 614,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "3D1F0BB9"
},
{
"begin": 626,
"end": 631,
"name": "DUP5",
"source": 0
},
{
"begin": 632,
"end": 634,
"name": "DUP4",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "DUP2",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "MLOAD",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "DUP2",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "LT",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 626,
"end": 635,
"name": "JUMPI",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 626,
"end": 635,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 626,
"end": 635,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 626,
"end": 635,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 626,
"end": 635,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 626,
"end": 635,
"name": "MUL",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 626,
"end": 635,
"name": "ADD",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "ADD",
"source": 0
},
{
"begin": 626,
"end": 635,
"name": "MLOAD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 614,
"end": 636,
"name": "MLOAD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP3",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 614,
"end": 636,
"name": "AND",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 614,
"end": 636,
"name": "SHL",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP2",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "MSTORE",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 614,
"end": 636,
"name": "ADD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 614,
"end": 636,
"name": "SWAP2",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "SWAP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 614,
"end": 636,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 614,
"end": 636,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 614,
"end": 636,
"name": "MLOAD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP4",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "SUB",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP2",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP7",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "GAS",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "STATICCALL",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "ISZERO",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "ISZERO",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 614,
"end": 636,
"name": "JUMPI",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 614,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 614,
"end": 636,
"name": "REVERT",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 614,
"end": 636,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 614,
"end": 636,
"name": "MLOAD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 614,
"end": 636,
"name": "NOT",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 614,
"end": 636,
"name": "DUP3",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "ADD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "AND",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP3",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "ADD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 614,
"end": 636,
"name": "MSTORE",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "DUP2",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "ADD",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "SWAP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 614,
"end": 636,
"name": "SWAP2",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "SWAP1",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 614,
"end": 636,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 614,
"end": 636,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 614,
"end": 636,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 613,
"end": 636,
"name": "ISZERO",
"source": 0
},
{
"begin": 605,
"end": 637,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 605,
"end": 637,
"name": "JUMPI",
"source": 0
},
{
"begin": 605,
"end": 637,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 605,
"end": 637,
"name": "DUP1",
"source": 0
},
{
"begin": 605,
"end": 637,
"name": "REVERT",
"source": 0
},
{
"begin": 605,
"end": 637,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 605,
"end": 637,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "DUP1",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "DUP1",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 586,
"end": 590,
"name": "SWAP1",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 586,
"end": 590,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 586,
"end": 590,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "SWAP2",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "POP",
"source": 0
},
{
"begin": 586,
"end": 590,
"name": "POP",
"source": 0
},
{
"begin": 550,
"end": 648,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 550,
"end": 648,
"name": "JUMP",
"source": 0
},
{
"begin": 550,
"end": 648,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 550,
"end": 648,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 550,
"end": 648,
"name": "POP",
"source": 0
},
{
"begin": 662,
"end": 672,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 657,
"end": 770,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 657,
"end": 770,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 679,
"end": 685,
"name": "DUP2",
"source": 0
},
{
"begin": 679,
"end": 692,
"name": "MLOAD",
"source": 0
},
{
"begin": 674,
"end": 676,
"name": "DUP2",
"source": 0
},
{
"begin": 674,
"end": 692,
"name": "LT",
"source": 0
},
{
"begin": 657,
"end": 770,
"name": "ISZERO",
"source": 0
},
{
"begin": 657,
"end": 770,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 657,
"end": 770,
"name": "JUMPI",
"source": 0
},
{
"begin": 375,
"end": 417,
"name": "PUSH",
"source": 0,
"value": "1CEB5CB57C4D4E2B2433641B95DD330A33185A44"
},
{
"begin": 722,
"end": 746,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 722,
"end": 746,
"name": "AND",
"source": 0
},
{
"begin": 722,
"end": 746,
"name": "PUSH",
"source": 0,
"value": "EB421F3B"
},
{
"begin": 747,
"end": 753,
"name": "DUP4",
"source": 0
},
{
"begin": 754,
"end": 756,
"name": "DUP4",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "DUP2",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "MLOAD",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "DUP2",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "LT",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 747,
"end": 757,
"name": "JUMPI",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 747,
"end": 757,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 747,
"end": 757,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "tag",
"source": 0,
"value": "30"
},
{
"begin": 747,
"end": 757,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 747,
"end": 757,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 747,
"end": 757,
"name": "MUL",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 747,
"end": 757,
"name": "ADD",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "ADD",
"source": 0
},
{
"begin": 747,
"end": 757,
"name": "MLOAD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 722,
"end": 758,
"name": "MLOAD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP3",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 722,
"end": 758,
"name": "AND",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 722,
"end": 758,
"name": "SHL",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP2",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "MSTORE",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 722,
"end": 758,
"name": "ADD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 722,
"end": 758,
"name": "SWAP2",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "SWAP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 722,
"end": 758,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 722,
"end": 758,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 722,
"end": 758,
"name": "MLOAD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP4",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "SUB",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP2",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP7",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "GAS",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "STATICCALL",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "ISZERO",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "ISZERO",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 722,
"end": 758,
"name": "JUMPI",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 722,
"end": 758,
"name": "DUP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 722,
"end": 758,
"name": "REVERT",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "tag",
"source": 0,
"value": "33"
},
{
"begin": 722,
"end": 758,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "POP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "POP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "POP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "POP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 722,
"end": 758,
"name": "MLOAD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 722,
"end": 758,
"name": "NOT",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 722,
"end": 758,
"name": "DUP3",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "ADD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "AND",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP3",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "ADD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 722,
"end": 758,
"name": "MSTORE",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "POP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "DUP2",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "ADD",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "SWAP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 722,
"end": 758,
"name": "SWAP2",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "SWAP1",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 722,
"end": 758,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 722,
"end": 758,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 722,
"end": 758,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 721,
"end": 758,
"name": "ISZERO",
"source": 0
},
{
"begin": 713,
"end": 759,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 713,
"end": 759,
"name": "JUMPI",
"source": 0
},
{
"begin": 713,
"end": 759,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 713,
"end": 759,
"name": "DUP1",
"source": 0
},
{
"begin": 713,
"end": 759,
"name": "REVERT",
"source": 0
},
{
"begin": 713,
"end": 759,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 713,
"end": 759,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "DUP1",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "DUP1",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 694,
"end": 698,
"name": "SWAP1",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 694,
"end": 698,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 694,
"end": 698,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "SWAP2",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "POP",
"source": 0
},
{
"begin": 694,
"end": 698,
"name": "POP",
"source": 0
},
{
"begin": 657,
"end": 770,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 657,
"end": 770,
"name": "JUMP",
"source": 0
},
{
"begin": 657,
"end": 770,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 657,
"end": 770,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 657,
"end": 770,
"name": "POP",
"source": 0
},
{
"begin": 787,
"end": 792,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 779,
"end": 793,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 779,
"end": 793,
"name": "JUMPI",
"source": 0
},
{
"begin": 779,
"end": 793,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 779,
"end": 793,
"name": "DUP1",
"source": 0
},
{
"begin": 779,
"end": 793,
"name": "REVERT",
"source": 0
},
{
"begin": 779,
"end": 793,
"name": "tag",
"source": 0,
"value": "37"
},
{
"begin": 779,
"end": 793,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 439,
"end": 800,
"name": "POP",
"source": 0
},
{
"begin": 439,
"end": 800,
"name": "POP",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 306,
"end": 802,
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 82,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 7,
"end": 82,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 40,
"end": 46,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 75,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 67,
"end": 76,
"name": "MLOAD",
"source": 1
},
{
"begin": 57,
"end": 76,
"name": "SWAP1",
"source": 1
},
{
"begin": 57,
"end": 76,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 82,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 82,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 211,
"end": 328,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 211,
"end": 328,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 320,
"end": 321,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 317,
"end": 318,
"name": "DUP1",
"source": 1
},
{
"begin": 310,
"end": 322,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 451,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 334,
"end": 451,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 443,
"end": 444,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 440,
"end": 441,
"name": "DUP1",
"source": 1
},
{
"begin": 433,
"end": 445,
"name": "REVERT",
"source": 1
},
{
"begin": 457,
"end": 559,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 457,
"end": 559,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 498,
"end": 504,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 549,
"end": 551,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 545,
"end": 552,
"name": "NOT",
"source": 1
},
{
"begin": 540,
"end": 542,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 533,
"end": 538,
"name": "DUP4",
"source": 1
},
{
"begin": 529,
"end": 543,
"name": "ADD",
"source": 1
},
{
"begin": 525,
"end": 553,
"name": "AND",
"source": 1
},
{
"begin": 515,
"end": 553,
"name": "SWAP1",
"source": 1
},
{
"begin": 515,
"end": 553,
"name": "POP",
"source": 1
},
{
"begin": 457,
"end": 559,
"name": "SWAP2",
"source": 1
},
{
"begin": 457,
"end": 559,
"name": "SWAP1",
"source": 1
},
{
"begin": 457,
"end": 559,
"name": "POP",
"source": 1
},
{
"begin": 457,
"end": 559,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 565,
"end": 745,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 565,
"end": 745,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 613,
"end": 690,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 610,
"end": 611,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 603,
"end": 691,
"name": "MSTORE",
"source": 1
},
{
"begin": 710,
"end": 714,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 707,
"end": 708,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 700,
"end": 715,
"name": "MSTORE",
"source": 1
},
{
"begin": 734,
"end": 738,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 731,
"end": 732,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 724,
"end": 739,
"name": "REVERT",
"source": 1
},
{
"begin": 751,
"end": 1032,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 751,
"end": 1032,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 834,
"end": 861,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 856,
"end": 860,
"name": "DUP3",
"source": 1
},
{
"begin": 834,
"end": 861,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 834,
"end": 861,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 834,
"end": 861,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 834,
"end": 861,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 826,
"end": 832,
"name": "DUP2",
"source": 1
},
{
"begin": 822,
"end": 862,
"name": "ADD",
"source": 1
},
{
"begin": 964,
"end": 970,
"name": "DUP2",
"source": 1
},
{
"begin": 952,
"end": 962,
"name": "DUP2",
"source": 1
},
{
"begin": 949,
"end": 971,
"name": "LT",
"source": 1
},
{
"begin": 928,
"end": 946,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 916,
"end": 926,
"name": "DUP3",
"source": 1
},
{
"begin": 913,
"end": 947,
"name": "GT",
"source": 1
},
{
"begin": 910,
"end": 972,
"name": "OR",
"source": 1
},
{
"begin": 907,
"end": 995,
"name": "ISZERO",
"source": 1
},
{
"begin": 907,
"end": 995,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 907,
"end": 995,
"name": "JUMPI",
"source": 1
},
{
"begin": 975,
"end": 993,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 975,
"end": 993,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 975,
"end": 993,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 975,
"end": 993,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 975,
"end": 993,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 907,
"end": 995,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 907,
"end": 995,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1015,
"end": 1025,
"name": "DUP1",
"source": 1
},
{
"begin": 1011,
"end": 1013,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1004,
"end": 1026,
"name": "MSTORE",
"source": 1
},
{
"begin": 794,
"end": 1032,
"name": "POP",
"source": 1
},
{
"begin": 751,
"end": 1032,
"name": "POP",
"source": 1
},
{
"begin": 751,
"end": 1032,
"name": "POP",
"source": 1
},
{
"begin": 751,
"end": 1032,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1038,
"end": 1167,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1038,
"end": 1167,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1072,
"end": 1078,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1099,
"end": 1119,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 1099,
"end": 1119,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1099,
"end": 1119,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1099,
"end": 1119,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 1099,
"end": 1119,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1089,
"end": 1119,
"name": "SWAP1",
"source": 1
},
{
"begin": 1089,
"end": 1119,
"name": "POP",
"source": 1
},
{
"begin": 1128,
"end": 1161,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 1156,
"end": 1160,
"name": "DUP3",
"source": 1
},
{
"begin": 1148,
"end": 1154,
"name": "DUP3",
"source": 1
},
{
"begin": 1128,
"end": 1161,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 1128,
"end": 1161,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1128,
"end": 1161,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 1128,
"end": 1161,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1038,
"end": 1167,
"name": "SWAP2",
"source": 1
},
{
"begin": 1038,
"end": 1167,
"name": "SWAP1",
"source": 1
},
{
"begin": 1038,
"end": 1167,
"name": "POP",
"source": 1
},
{
"begin": 1038,
"end": 1167,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1173,
"end": 1484,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 1173,
"end": 1484,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1250,
"end": 1254,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1340,
"end": 1358,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1332,
"end": 1338,
"name": "DUP3",
"source": 1
},
{
"begin": 1329,
"end": 1359,
"name": "GT",
"source": 1
},
{
"begin": 1326,
"end": 1382,
"name": "ISZERO",
"source": 1
},
{
"begin": 1326,
"end": 1382,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1326,
"end": 1382,
"name": "JUMPI",
"source": 1
},
{
"begin": 1362,
"end": 1380,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 1362,
"end": 1380,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1362,
"end": 1380,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1362,
"end": 1380,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 1362,
"end": 1380,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1326,
"end": 1382,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 1326,
"end": 1382,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1412,
"end": 1416,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1404,
"end": 1410,
"name": "DUP3",
"source": 1
},
{
"begin": 1400,
"end": 1417,
"name": "MUL",
"source": 1
},
{
"begin": 1392,
"end": 1417,
"name": "SWAP1",
"source": 1
},
{
"begin": 1392,
"end": 1417,
"name": "POP",
"source": 1
},
{
"begin": 1472,
"end": 1476,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1466,
"end": 1470,
"name": "DUP2",
"source": 1
},
{
"begin": 1462,
"end": 1477,
"name": "ADD",
"source": 1
},
{
"begin": 1454,
"end": 1477,
"name": "SWAP1",
"source": 1
},
{
"begin": 1454,
"end": 1477,
"name": "POP",
"source": 1
},
{
"begin": 1173,
"end": 1484,
"name": "SWAP2",
"source": 1
},
{
"begin": 1173,
"end": 1484,
"name": "SWAP1",
"source": 1
},
{
"begin": 1173,
"end": 1484,
"name": "POP",
"source": 1
},
{
"begin": 1173,
"end": 1484,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1490,
"end": 1607,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 1490,
"end": 1607,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1599,
"end": 1600,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1596,
"end": 1597,
"name": "DUP1",
"source": 1
},
{
"begin": 1589,
"end": 1601,
"name": "REVERT",
"source": 1
},
{
"begin": 1613,
"end": 1739,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 1613,
"end": 1739,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1650,
"end": 1657,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1690,
"end": 1732,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1683,
"end": 1688,
"name": "DUP3",
"source": 1
},
{
"begin": 1679,
"end": 1733,
"name": "AND",
"source": 1
},
{
"begin": 1668,
"end": 1733,
"name": "SWAP1",
"source": 1
},
{
"begin": 1668,
"end": 1733,
"name": "POP",
"source": 1
},
{
"begin": 1613,
"end": 1739,
"name": "SWAP2",
"source": 1
},
{
"begin": 1613,
"end": 1739,
"name": "SWAP1",
"source": 1
},
{
"begin": 1613,
"end": 1739,
"name": "POP",
"source": 1
},
{
"begin": 1613,
"end": 1739,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1745,
"end": 1841,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 1745,
"end": 1841,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1782,
"end": 1789,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1811,
"end": 1835,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1829,
"end": 1834,
"name": "DUP3",
"source": 1
},
{
"begin": 1811,
"end": 1835,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 1811,
"end": 1835,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1811,
"end": 1835,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 1811,
"end": 1835,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1800,
"end": 1835,
"name": "SWAP1",
"source": 1
},
{
"begin": 1800,
"end": 1835,
"name": "POP",
"source": 1
},
{
"begin": 1745,
"end": 1841,
"name": "SWAP2",
"source": 1
},
{
"begin": 1745,
"end": 1841,
"name": "SWAP1",
"source": 1
},
{
"begin": 1745,
"end": 1841,
"name": "POP",
"source": 1
},
{
"begin": 1745,
"end": 1841,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1847,
"end": 1969,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 1847,
"end": 1969,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1920,
"end": 1944,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1938,
"end": 1943,
"name": "DUP2",
"source": 1
},
{
"begin": 1920,
"end": 1944,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 1920,
"end": 1944,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1920,
"end": 1944,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 1920,
"end": 1944,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1913,
"end": 1918,
"name": "DUP2",
"source": 1
},
{
"begin": 1910,
"end": 1945,
"name": "EQ",
"source": 1
},
{
"begin": 1900,
"end": 1963,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1900,
"end": 1963,
"name": "JUMPI",
"source": 1
},
{
"begin": 1959,
"end": 1960,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1956,
"end": 1957,
"name": "DUP1",
"source": 1
},
{
"begin": 1949,
"end": 1961,
"name": "REVERT",
"source": 1
},
{
"begin": 1900,
"end": 1963,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 1900,
"end": 1963,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1847,
"end": 1969,
"name": "POP",
"source": 1
},
{
"begin": 1847,
"end": 1969,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 1975,
"end": 2118,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2032,
"end": 2037,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2063,
"end": 2069,
"name": "DUP2",
"source": 1
},
{
"begin": 2057,
"end": 2070,
"name": "MLOAD",
"source": 1
},
{
"begin": 2048,
"end": 2070,
"name": "SWAP1",
"source": 1
},
{
"begin": 2048,
"end": 2070,
"name": "POP",
"source": 1
},
{
"begin": 2079,
"end": 2112,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 2106,
"end": 2111,
"name": "DUP2",
"source": 1
},
{
"begin": 2079,
"end": 2112,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 2079,
"end": 2112,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2079,
"end": 2112,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 2079,
"end": 2112,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"name": "SWAP3",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"name": "SWAP2",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"name": "POP",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"name": "POP",
"source": 1
},
{
"begin": 1975,
"end": 2118,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 2141,
"end": 2873,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2248,
"end": 2253,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2273,
"end": 2354,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 2289,
"end": 2353,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 2346,
"end": 2352,
"name": "DUP5",
"source": 1
},
{
"begin": 2289,
"end": 2353,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2289,
"end": 2353,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2289,
"end": 2353,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 2289,
"end": 2353,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2273,
"end": 2354,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 2273,
"end": 2354,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2273,
"end": 2354,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 2273,
"end": 2354,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2264,
"end": 2354,
"name": "SWAP1",
"source": 1
},
{
"begin": 2264,
"end": 2354,
"name": "POP",
"source": 1
},
{
"begin": 2374,
"end": 2379,
"name": "DUP1",
"source": 1
},
{
"begin": 2403,
"end": 2409,
"name": "DUP4",
"source": 1
},
{
"begin": 2396,
"end": 2401,
"name": "DUP3",
"source": 1
},
{
"begin": 2389,
"end": 2410,
"name": "MSTORE",
"source": 1
},
{
"begin": 2437,
"end": 2441,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2430,
"end": 2435,
"name": "DUP3",
"source": 1
},
{
"begin": 2426,
"end": 2442,
"name": "ADD",
"source": 1
},
{
"begin": 2419,
"end": 2442,
"name": "SWAP1",
"source": 1
},
{
"begin": 2419,
"end": 2442,
"name": "POP",
"source": 1
},
{
"begin": 2490,
"end": 2494,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2482,
"end": 2488,
"name": "DUP5",
"source": 1
},
{
"begin": 2478,
"end": 2495,
"name": "MUL",
"source": 1
},
{
"begin": 2470,
"end": 2476,
"name": "DUP4",
"source": 1
},
{
"begin": 2466,
"end": 2496,
"name": "ADD",
"source": 1
},
{
"begin": 2519,
"end": 2522,
"name": "DUP6",
"source": 1
},
{
"begin": 2511,
"end": 2517,
"name": "DUP2",
"source": 1
},
{
"begin": 2508,
"end": 2523,
"name": "GT",
"source": 1
},
{
"begin": 2505,
"end": 2627,
"name": "ISZERO",
"source": 1
},
{
"begin": 2505,
"end": 2627,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2505,
"end": 2627,
"name": "JUMPI",
"source": 1
},
{
"begin": 2538,
"end": 2617,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 2538,
"end": 2617,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 2538,
"end": 2617,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2538,
"end": 2617,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 2538,
"end": 2617,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2505,
"end": 2627,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 2505,
"end": 2627,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2653,
"end": 2659,
"name": "DUP4",
"source": 1
},
{
"begin": 2636,
"end": 2867,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 2636,
"end": 2867,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2670,
"end": 2676,
"name": "DUP2",
"source": 1
},
{
"begin": 2665,
"end": 2668,
"name": "DUP2",
"source": 1
},
{
"begin": 2662,
"end": 2677,
"name": "LT",
"source": 1
},
{
"begin": 2636,
"end": 2867,
"name": "ISZERO",
"source": 1
},
{
"begin": 2636,
"end": 2867,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2636,
"end": 2867,
"name": "JUMPI",
"source": 1
},
{
"begin": 2745,
"end": 2748,
"name": "DUP1",
"source": 1
},
{
"begin": 2774,
"end": 2822,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 2818,
"end": 2821,
"name": "DUP9",
"source": 1
},
{
"begin": 2806,
"end": 2816,
"name": "DUP3",
"source": 1
},
{
"begin": 2774,
"end": 2822,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 2774,
"end": 2822,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2774,
"end": 2822,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 2774,
"end": 2822,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2769,
"end": 2772,
"name": "DUP5",
"source": 1
},
{
"begin": 2762,
"end": 2823,
"name": "MSTORE",
"source": 1
},
{
"begin": 2852,
"end": 2856,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2847,
"end": 2850,
"name": "DUP5",
"source": 1
},
{
"begin": 2843,
"end": 2857,
"name": "ADD",
"source": 1
},
{
"begin": 2836,
"end": 2857,
"name": "SWAP4",
"source": 1
},
{
"begin": 2836,
"end": 2857,
"name": "POP",
"source": 1
},
{
"begin": 2712,
"end": 2867,
"name": "POP",
"source": 1
},
{
"begin": 2696,
"end": 2700,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2691,
"end": 2694,
"name": "DUP2",
"source": 1
},
{
"begin": 2687,
"end": 2701,
"name": "ADD",
"source": 1
},
{
"begin": 2680,
"end": 2701,
"name": "SWAP1",
"source": 1
},
{
"begin": 2680,
"end": 2701,
"name": "POP",
"source": 1
},
{
"begin": 2636,
"end": 2867,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2636,
"end": 2867,
"name": "JUMP",
"source": 1
},
{
"begin": 2636,
"end": 2867,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 2636,
"end": 2867,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2640,
"end": 2661,
"name": "POP",
"source": 1
},
{
"begin": 2254,
"end": 2873,
"name": "POP",
"source": 1
},
{
"begin": 2254,
"end": 2873,
"name": "POP",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "SWAP4",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "SWAP3",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "POP",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "POP",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"name": "POP",
"source": 1
},
{
"begin": 2141,
"end": 2873,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 2896,
"end": 3281,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2978,
"end": 2983,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3027,
"end": 3030,
"name": "DUP3",
"source": 1
},
{
"begin": 3020,
"end": 3024,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3012,
"end": 3018,
"name": "DUP4",
"source": 1
},
{
"begin": 3008,
"end": 3025,
"name": "ADD",
"source": 1
},
{
"begin": 3004,
"end": 3031,
"name": "SLT",
"source": 1
},
{
"begin": 2994,
"end": 3116,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 2994,
"end": 3116,
"name": "JUMPI",
"source": 1
},
{
"begin": 3035,
"end": 3114,
"name": "PUSH [tag]",
"source": 1,
"value": "98"
},
{
"begin": 3035,
"end": 3114,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 3035,
"end": 3114,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3035,
"end": 3114,
"name": "tag",
"source": 1,
"value": "98"
},
{
"begin": 3035,
"end": 3114,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2994,
"end": 3116,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 2994,
"end": 3116,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3145,
"end": 3151,
"name": "DUP2",
"source": 1
},
{
"begin": 3139,
"end": 3152,
"name": "MLOAD",
"source": 1
},
{
"begin": 3170,
"end": 3275,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 3271,
"end": 3274,
"name": "DUP5",
"source": 1
},
{
"begin": 3263,
"end": 3269,
"name": "DUP3",
"source": 1
},
{
"begin": 3256,
"end": 3260,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3248,
"end": 3254,
"name": "DUP7",
"source": 1
},
{
"begin": 3244,
"end": 3261,
"name": "ADD",
"source": 1
},
{
"begin": 3170,
"end": 3275,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 3170,
"end": 3275,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3170,
"end": 3275,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 3170,
"end": 3275,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3161,
"end": 3275,
"name": "SWAP2",
"source": 1
},
{
"begin": 3161,
"end": 3275,
"name": "POP",
"source": 1
},
{
"begin": 2984,
"end": 3281,
"name": "POP",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"name": "SWAP3",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"name": "SWAP2",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"name": "POP",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"name": "POP",
"source": 1
},
{
"begin": 2896,
"end": 3281,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 3287,
"end": 3841,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3382,
"end": 3388,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3431,
"end": 3433,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3419,
"end": 3428,
"name": "DUP3",
"source": 1
},
{
"begin": 3410,
"end": 3417,
"name": "DUP5",
"source": 1
},
{
"begin": 3406,
"end": 3429,
"name": "SUB",
"source": 1
},
{
"begin": 3402,
"end": 3434,
"name": "SLT",
"source": 1
},
{
"begin": 3399,
"end": 3518,
"name": "ISZERO",
"source": 1
},
{
"begin": 3399,
"end": 3518,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 3399,
"end": 3518,
"name": "JUMPI",
"source": 1
},
{
"begin": 3437,
"end": 3516,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 3437,
"end": 3516,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 3437,
"end": 3516,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3437,
"end": 3516,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 3437,
"end": 3516,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3399,
"end": 3518,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 3399,
"end": 3518,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3578,
"end": 3579,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3567,
"end": 3576,
"name": "DUP3",
"source": 1
},
{
"begin": 3563,
"end": 3580,
"name": "ADD",
"source": 1
},
{
"begin": 3557,
"end": 3581,
"name": "MLOAD",
"source": 1
},
{
"begin": 3608,
"end": 3626,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 3600,
"end": 3606,
"name": "DUP2",
"source": 1
},
{
"begin": 3597,
"end": 3627,
"name": "GT",
"source": 1
},
{
"begin": 3594,
"end": 3711,
"name": "ISZERO",
"source": 1
},
{
"begin": 3594,
"end": 3711,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 3594,
"end": 3711,
"name": "JUMPI",
"source": 1
},
{
"begin": 3630,
"end": 3709,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 3630,
"end": 3709,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 3630,
"end": 3709,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3630,
"end": 3709,
"name": "tag",
"source": 1,
"value": "104"
},
{
"begin": 3630,
"end": 3709,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3594,
"end": 3711,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 3594,
"end": 3711,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3735,
"end": 3824,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 3816,
"end": 3823,
"name": "DUP5",
"source": 1
},
{
"begin": 3807,
"end": 3813,
"name": "DUP3",
"source": 1
},
{
"begin": 3796,
"end": 3805,
"name": "DUP6",
"source": 1
},
{
"begin": 3792,
"end": 3814,
"name": "ADD",
"source": 1
},
{
"begin": 3735,
"end": 3824,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 3735,
"end": 3824,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3735,
"end": 3824,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 3735,
"end": 3824,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3725,
"end": 3824,
"name": "SWAP2",
"source": 1
},
{
"begin": 3725,
"end": 3824,
"name": "POP",
"source": 1
},
{
"begin": 3528,
"end": 3834,
"name": "POP",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"name": "SWAP3",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"name": "SWAP2",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"name": "POP",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"name": "POP",
"source": 1
},
{
"begin": 3287,
"end": 3841,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3847,
"end": 4027,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 3847,
"end": 4027,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3895,
"end": 3972,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 3892,
"end": 3893,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3885,
"end": 3973,
"name": "MSTORE",
"source": 1
},
{
"begin": 3992,
"end": 3996,
"name": "PUSH",
"source": 1,
"value": "32"
},
{
"begin": 3989,
"end": 3990,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 3982,
"end": 3997,
"name": "MSTORE",
"source": 1
},
{
"begin": 4016,
"end": 4020,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 4013,
"end": 4014,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4006,
"end": 4021,
"name": "REVERT",
"source": 1
},
{
"begin": 4033,
"end": 4151,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 4033,
"end": 4151,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4120,
"end": 4144,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 4138,
"end": 4143,
"name": "DUP2",
"source": 1
},
{
"begin": 4120,
"end": 4144,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 4120,
"end": 4144,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4120,
"end": 4144,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 4120,
"end": 4144,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4115,
"end": 4118,
"name": "DUP3",
"source": 1
},
{
"begin": 4108,
"end": 4145,
"name": "MSTORE",
"source": 1
},
{
"begin": 4033,
"end": 4151,
"name": "POP",
"source": 1
},
{
"begin": 4033,
"end": 4151,
"name": "POP",
"source": 1
},
{
"begin": 4033,
"end": 4151,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 4157,
"end": 4379,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4250,
"end": 4254,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4288,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4277,
"end": 4286,
"name": "DUP3",
"source": 1
},
{
"begin": 4273,
"end": 4291,
"name": "ADD",
"source": 1
},
{
"begin": 4265,
"end": 4291,
"name": "SWAP1",
"source": 1
},
{
"begin": 4265,
"end": 4291,
"name": "POP",
"source": 1
},
{
"begin": 4301,
"end": 4372,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 4369,
"end": 4370,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4358,
"end": 4367,
"name": "DUP4",
"source": 1
},
{
"begin": 4354,
"end": 4371,
"name": "ADD",
"source": 1
},
{
"begin": 4345,
"end": 4351,
"name": "DUP5",
"source": 1
},
{
"begin": 4301,
"end": 4372,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 4301,
"end": 4372,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4301,
"end": 4372,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 4301,
"end": 4372,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"name": "SWAP3",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"name": "SWAP2",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"name": "POP",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"name": "POP",
"source": 1
},
{
"begin": 4157,
"end": 4379,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4385,
"end": 4475,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 4385,
"end": 4475,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4419,
"end": 4426,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4462,
"end": 4467,
"name": "DUP2",
"source": 1
},
{
"begin": 4455,
"end": 4468,
"name": "ISZERO",
"source": 1
},
{
"begin": 4448,
"end": 4469,
"name": "ISZERO",
"source": 1
},
{
"begin": 4437,
"end": 4469,
"name": "SWAP1",
"source": 1
},
{
"begin": 4437,
"end": 4469,
"name": "POP",
"source": 1
},
{
"begin": 4385,
"end": 4475,
"name": "SWAP2",
"source": 1
},
{
"begin": 4385,
"end": 4475,
"name": "SWAP1",
"source": 1
},
{
"begin": 4385,
"end": 4475,
"name": "POP",
"source": 1
},
{
"begin": 4385,
"end": 4475,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4481,
"end": 4597,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 4481,
"end": 4597,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4551,
"end": 4572,
"name": "PUSH [tag]",
"source": 1,
"value": "113"
},
{
"begin": 4566,
"end": 4571,
"name": "DUP2",
"source": 1
},
{
"begin": 4551,
"end": 4572,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 4551,
"end": 4572,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4551,
"end": 4572,
"name": "tag",
"source": 1,
"value": "113"
},
{
"begin": 4551,
"end": 4572,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4544,
"end": 4549,
"name": "DUP2",
"source": 1
},
{
"begin": 4541,
"end": 4573,
"name": "EQ",
"source": 1
},
{
"begin": 4531,
"end": 4591,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 4531,
"end": 4591,
"name": "JUMPI",
"source": 1
},
{
"begin": 4587,
"end": 4588,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4584,
"end": 4585,
"name": "DUP1",
"source": 1
},
{
"begin": 4577,
"end": 4589,
"name": "REVERT",
"source": 1
},
{
"begin": 4531,
"end": 4591,
"name": "tag",
"source": 1,
"value": "114"
},
{
"begin": 4531,
"end": 4591,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4481,
"end": 4597,
"name": "POP",
"source": 1
},
{
"begin": 4481,
"end": 4597,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 4603,
"end": 4740,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4657,
"end": 4662,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4688,
"end": 4694,
"name": "DUP2",
"source": 1
},
{
"begin": 4682,
"end": 4695,
"name": "MLOAD",
"source": 1
},
{
"begin": 4673,
"end": 4695,
"name": "SWAP1",
"source": 1
},
{
"begin": 4673,
"end": 4695,
"name": "POP",
"source": 1
},
{
"begin": 4704,
"end": 4734,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 4728,
"end": 4733,
"name": "DUP2",
"source": 1
},
{
"begin": 4704,
"end": 4734,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 4704,
"end": 4734,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4704,
"end": 4734,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 4704,
"end": 4734,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"name": "SWAP3",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"name": "SWAP2",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"name": "POP",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"name": "POP",
"source": 1
},
{
"begin": 4603,
"end": 4740,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 4746,
"end": 5091,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4813,
"end": 4819,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4862,
"end": 4864,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4850,
"end": 4859,
"name": "DUP3",
"source": 1
},
{
"begin": 4841,
"end": 4848,
"name": "DUP5",
"source": 1
},
{
"begin": 4837,
"end": 4860,
"name": "SUB",
"source": 1
},
{
"begin": 4833,
"end": 4865,
"name": "SLT",
"source": 1
},
{
"begin": 4830,
"end": 4949,
"name": "ISZERO",
"source": 1
},
{
"begin": 4830,
"end": 4949,
"name": "PUSH [tag]",
"source": 1,
"value": "118"
},
{
"begin": 4830,
"end": 4949,
"name": "JUMPI",
"source": 1
},
{
"begin": 4868,
"end": 4947,
"name": "PUSH [tag]",
"source": 1,
"value": "119"
},
{
"begin": 4868,
"end": 4947,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 4868,
"end": 4947,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4868,
"end": 4947,
"name": "tag",
"source": 1,
"value": "119"
},
{
"begin": 4868,
"end": 4947,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4830,
"end": 4949,
"name": "tag",
"source": 1,
"value": "118"
},
{
"begin": 4830,
"end": 4949,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4988,
"end": 4989,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5013,
"end": 5074,
"name": "PUSH [tag]",
"source": 1,
"value": "120"
},
{
"begin": 5066,
"end": 5073,
"name": "DUP5",
"source": 1
},
{
"begin": 5057,
"end": 5063,
"name": "DUP3",
"source": 1
},
{
"begin": 5046,
"end": 5055,
"name": "DUP6",
"source": 1
},
{
"begin": 5042,
"end": 5064,
"name": "ADD",
"source": 1
},
{
"begin": 5013,
"end": 5074,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 5013,
"end": 5074,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5013,
"end": 5074,
"name": "tag",
"source": 1,
"value": "120"
},
{
"begin": 5013,
"end": 5074,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5003,
"end": 5074,
"name": "SWAP2",
"source": 1
},
{
"begin": 5003,
"end": 5074,
"name": "POP",
"source": 1
},
{
"begin": 4959,
"end": 5084,
"name": "POP",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"name": "SWAP3",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"name": "SWAP2",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"name": "POP",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"name": "POP",
"source": 1
},
{
"begin": 4746,
"end": 5091,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5097,
"end": 5277,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 5097,
"end": 5277,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5145,
"end": 5222,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 5142,
"end": 5143,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5135,
"end": 5223,
"name": "MSTORE",
"source": 1
},
{
"begin": 5242,
"end": 5246,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 5239,
"end": 5240,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 5232,
"end": 5247,
"name": "MSTORE",
"source": 1
},
{
"begin": 5266,
"end": 5270,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 5263,
"end": 5264,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5256,
"end": 5271,
"name": "REVERT",
"source": 1
},
{
"begin": 5283,
"end": 5360,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 5283,
"end": 5360,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5320,
"end": 5327,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5349,
"end": 5354,
"name": "DUP2",
"source": 1
},
{
"begin": 5338,
"end": 5354,
"name": "SWAP1",
"source": 1
},
{
"begin": 5338,
"end": 5354,
"name": "POP",
"source": 1
},
{
"begin": 5283,
"end": 5360,
"name": "SWAP2",
"source": 1
},
{
"begin": 5283,
"end": 5360,
"name": "SWAP1",
"source": 1
},
{
"begin": 5283,
"end": 5360,
"name": "POP",
"source": 1
},
{
"begin": 5283,
"end": 5360,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5366,
"end": 5599,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 5366,
"end": 5599,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5405,
"end": 5408,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5428,
"end": 5452,
"name": "PUSH [tag]",
"source": 1,
"value": "124"
},
{
"begin": 5446,
"end": 5451,
"name": "DUP3",
"source": 1
},
{
"begin": 5428,
"end": 5452,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 5428,
"end": 5452,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5428,
"end": 5452,
"name": "tag",
"source": 1,
"value": "124"
},
{
"begin": 5428,
"end": 5452,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5419,
"end": 5452,
"name": "SWAP2",
"source": 1
},
{
"begin": 5419,
"end": 5452,
"name": "POP",
"source": 1
},
{
"begin": 5474,
"end": 5540,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 5467,
"end": 5472,
"name": "DUP3",
"source": 1
},
{
"begin": 5464,
"end": 5541,
"name": "SUB",
"source": 1
},
{
"begin": 5461,
"end": 5564,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 5461,
"end": 5564,
"name": "JUMPI",
"source": 1
},
{
"begin": 5544,
"end": 5562,
"name": "PUSH [tag]",
"source": 1,
"value": "126"
},
{
"begin": 5544,
"end": 5562,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 5544,
"end": 5562,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5544,
"end": 5562,
"name": "tag",
"source": 1,
"value": "126"
},
{
"begin": 5544,
"end": 5562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5461,
"end": 5564,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 5461,
"end": 5564,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5591,
"end": 5592,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 5584,
"end": 5589,
"name": "DUP3",
"source": 1
},
{
"begin": 5580,
"end": 5593,
"name": "ADD",
"source": 1
},
{
"begin": 5573,
"end": 5593,
"name": "SWAP1",
"source": 1
},
{
"begin": 5573,
"end": 5593,
"name": "POP",
"source": 1
},
{
"begin": 5366,
"end": 5599,
"name": "SWAP2",
"source": 1
},
{
"begin": 5366,
"end": 5599,
"name": "SWAP1",
"source": 1
},
{
"begin": 5366,
"end": 5599,
"name": "POP",
"source": 1
},
{
"begin": 5366,
"end": 5599,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 306,
"end": 802,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 306,
"end": 802,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 306,
"end": 802,
"name": "DUP1",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 306,
"end": 802,
"name": "CODECOPY",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 306,
"end": 802,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220e7040bde5cb95ac6d6c86ffe7ad234128734f49513f591595d481001cf4b06bf64736f6c63430008130033",
".code": [
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 306,
"end": 802,
"name": "MSTORE",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 306,
"end": 802,
"name": "DUP1",
"source": 0
},
{
"begin": 306,
"end": 802,
"name": "REVERT",
"source": 0
}
]
}
},
"sourceList": [
"scripts/TestKeep3rV1Deprecation.sol",
"#utility.yul"
]
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/TestKeep3rV1Deprecation.sol\":\"TestDeprecation\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/TestKeep3rV1Deprecation.sol\":{\"keccak256\":\"0x402a3319453d598e411a675ac7d58c4040373047b76f081dad46f1161be05c0d\",\"urls\":[\"bzz-raw://6939190cd7dea1127a54c562871954cf41869610b5917bb366a64920796ee012\",\"dweb:/ipfs/QmRW464GmHccDrK2TP2mheXLF3jYDhSE8nDDBQJVVn1LFJ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> scripts/TestKeep3rV1Deprecation.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "scripts/TestKeep3rV1Deprecation.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"scripts/TestKeep3rV1Deprecation.sol": {
"ast": {
"absolutePath": "scripts/TestKeep3rV1Deprecation.sol",
"exportedSymbols": {
"IKeep3rV1": [
28
],
"TestDeprecation": [
105
]
},
"id": 106,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IKeep3rV1",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 28,
"linearizedBaseContracts": [
28
],
"name": "IKeep3rV1",
"nameLocation": "36:9:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "68581ebd",
"id": 7,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getJobs",
"nameLocation": "61:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2,
"nodeType": "ParameterList",
"parameters": [],
"src": "68:2:0"
},
"returnParameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 7,
"src": "94:16:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 3,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "94:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 4,
"nodeType": "ArrayTypeName",
"src": "94:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"src": "93:18:0"
},
"scope": 28,
"src": "52:60:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "ffb0a4a0",
"id": 13,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pairs",
"nameLocation": "126:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [],
"src": "131:2:0"
},
"returnParameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "157:16:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 9,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "157:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 10,
"nodeType": "ArrayTypeName",
"src": "157:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"src": "156:18:0"
},
"scope": 28,
"src": "117:58:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "3d1f0bb9",
"id": 20,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "jobs",
"nameLocation": "189:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 15,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "194:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 14,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "194:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "193:9:0"
},
"returnParameters": {
"id": 19,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "226:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 17,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "226:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "225:6:0"
},
"scope": 28,
"src": "180:52:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "eb421f3b",
"id": 27,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "liquidityAccepted",
"nameLocation": "246:17:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 27,
"src": "264:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 21,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "264:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "263:9:0"
},
"returnParameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 25,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 27,
"src": "296:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 24,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "296:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "295:6:0"
},
"scope": 28,
"src": "237:65:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 106,
"src": "26:278:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "TestDeprecation",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 105,
"linearizedBaseContracts": [
105
],
"name": "TestDeprecation",
"nameLocation": "315:15:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 34,
"mutability": "constant",
"name": "KEEP3R",
"nameLocation": "356:6:0",
"nodeType": "VariableDeclaration",
"scope": 105,
"src": "337:81:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
},
"typeName": {
"id": 30,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 29,
"name": "IKeep3rV1",
"nameLocations": [
"337:9:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 28,
"src": "337:9:0"
},
"referencedDeclaration": 28,
"src": "337:9:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
}
},
"value": {
"arguments": [
{
"hexValue": "307831634542356342353743344434453262323433333634316239354464333330413333313835413434",
"id": 32,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "375:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 31,
"name": "IKeep3rV1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 28,
"src": "365:9:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IKeep3rV1_$28_$",
"typeString": "type(contract IKeep3rV1)"
}
},
"id": 33,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "365:53:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
}
},
"visibility": "internal"
},
{
"body": {
"id": 103,
"nodeType": "Block",
"src": "439:361:0",
"statements": [
{
"assignments": [
41
],
"declarations": [
{
"constant": false,
"id": 41,
"mutability": "mutable",
"name": "_jobs",
"nameLocation": "466:5:0",
"nodeType": "VariableDeclaration",
"scope": 103,
"src": "449:22:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 39,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "449:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 40,
"nodeType": "ArrayTypeName",
"src": "449:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"id": 45,
"initialValue": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 42,
"name": "KEEP3R",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "474:6:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
}
},
"id": 43,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "481:7:0",
"memberName": "getJobs",
"nodeType": "MemberAccess",
"referencedDeclaration": 7,
"src": "474:14:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 44,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "474:16:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "449:41:0"
},
{
"assignments": [
50
],
"declarations": [
{
"constant": false,
"id": 50,
"mutability": "mutable",
"name": "_pairs",
"nameLocation": "517:6:0",
"nodeType": "VariableDeclaration",
"scope": 103,
"src": "500:23:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 48,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "500:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 49,
"nodeType": "ArrayTypeName",
"src": "500:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"id": 54,
"initialValue": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"id": 51,
"name": "KEEP3R",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "526:6:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
}
},
"id": 52,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "533:5:0",
"memberName": "pairs",
"nodeType": "MemberAccess",
"referencedDeclaration": 13,
"src": "526:12:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "526:14:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "500:40:0"
},
{
"body": {
"id": 75,
"nodeType": "Block",
"src": "591:57:0",
"statements": [
{
"expression": {
"arguments": [
{
"id": 72,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
"src": "613:23:0",
"subExpression": {
"arguments": [
{
"baseExpression": {
"id": 68,
"name": "_jobs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 41,
"src": "626:5:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 70,
"indexExpression": {
"id": 69,
"name": "_i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "632:2:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "626:9:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"id": 66,
"name": "KEEP3R",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 34,
"src": "614:6:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IKeep3rV1_$28",
"typeString": "contract IKeep3rV1"
}
},
"id": 67,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "621:4:0",
"memberName": "jobs",
"nodeType": "MemberAccess",
"referencedDeclaration": 20,
"src": "614:11:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view external returns (bool)"
}
},
"id": 71,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "614:22:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"id": 65,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "605:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "605:32:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 74,
"nodeType": "ExpressionStatement",
"src": "605:32:0"
}
]
},
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 61,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 58,
"name": "_i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "567:2:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"expression": {
"id": 59,
"name": "_jobs",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 41,
"src": "572:5:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 60,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "578:6:0",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "572:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "567:17:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 76,
"initializationExpression": {
"assignments": [
56
],
"declarations": [
{
"constant": false,
"id": 56,
"mutability": "mutable",
"name": "_i",
"nameLocation": "563:2:0",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "555:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 55,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "555:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 57,
"nodeType": "VariableDeclarationStatement",
"src": "555:10:0"
},
"loopExpression": {
"expression": {
"id": 63,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "586:4:0",
"subExpression": {
"id": 62,
"name": "_i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 56,
"src": "586:2:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
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