Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save blockedby/6c448bb3346579274a37cfcd007e4d40 to your computer and use it in GitHub Desktop.
Save blockedby/6c448bb3346579274a37cfcd007e4d40 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.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (token/ERC20/utils/SafeERC20.sol)
pragma solidity ^0.8.0;
import "../IERC20.sol";
import "../../../utils/Address.sol";
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
* throw on failure) are also supported, non-reverting calls are assumed to be
* successful.
* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
using Address for address;
function safeTransfer(
IERC20 token,
address to,
uint256 value
) internal {
_callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(
IERC20 token,
address from,
address to,
uint256 value
) internal {
_callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
/**
* @dev Deprecated. This function has issues similar to the ones found in
* {IERC20-approve}, and its usage is discouraged.
*
* Whenever possible, use {safeIncreaseAllowance} and
* {safeDecreaseAllowance} instead.
*/
function safeApprove(
IERC20 token,
address spender,
uint256 value
) internal {
// safeApprove should only be called when setting an initial allowance,
// or when resetting it to zero. To increase and decrease it, use
// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
require(
(value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function safeIncreaseAllowance(
IERC20 token,
address spender,
uint256 value
) internal {
uint256 newAllowance = token.allowance(address(this), spender) + value;
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function safeDecreaseAllowance(
IERC20 token,
address spender,
uint256 value
) internal {
unchecked {
uint256 oldAllowance = token.allowance(address(this), spender);
require(oldAllowance >= value, "SafeERC20: decreased allowance below zero");
uint256 newAllowance = oldAllowance - value;
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
}
/**
* @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
* on the return value: the return value is optional (but if data is returned, it must not be false).
* @param token The token targeted by the call.
* @param data The call data (encoded using abi.encode or one of its variants).
*/
function _callOptionalReturn(IERC20 token, bytes memory data) private {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
// the target address contains contract code and also asserts for success in the low-level call.
bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
if (returndata.length > 0) {
// Return data is optional
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Address.sol)
pragma solidity ^0.8.0;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
}
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "Address: unable to send value, recipient may have reverted");
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain `call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason, it is bubbled up by this
* function (like regular Solidity function calls).
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
* `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCall(
address target,
bytes memory data,
string memory errorMessage
) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*
* _Available since v3.1._
*/
function functionCallWithValue(
address target,
bytes memory data,
uint256 value
) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
/**
* @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
* with `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCallWithValue(
address target,
bytes memory data,
uint256 value,
string memory errorMessage
) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{value: value}(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(
address target,
bytes memory data,
string memory errorMessage
) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
(bool success, bytes memory returndata) = target.staticcall(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(
address target,
bytes memory data,
string memory errorMessage
) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
(bool success, bytes memory returndata) = target.delegatecall(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
* revert reason using the provided one.
*
* _Available since v4.3._
*/
function verifyCallResult(
bool success,
bytes memory returndata,
string memory errorMessage
) internal pure returns (bytes memory) {
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
REMIX EXAMPLE PROJECT
Remix example project is present when Remix loads very first time or there are no files existing in the File Explorer.
It contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity.
SCRIPTS
The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract.
For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required).
Scripts have full access to the web3.js and ethers.js libraries.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
pragma solidity ^0.8.0;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract ERC20Basic is IERC20 {
string public constant name = "ERC20Basic";
string public constant symbol = "ERC";
uint8 public constant decimals = 18;
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
event Transfer(address indexed from, address indexed to, uint tokens);
mapping(address => uint256) balances;
mapping(address => mapping (address => uint256)) allowed;
uint256 totalSupply_ = 10 ether;
using SafeMath for uint256;
constructor() public {
balances[msg.sender] = totalSupply_;
}
function totalSupply() public override view returns (uint256) {
return totalSupply_;
}
function balanceOf(address tokenOwner) public override view returns (uint256) {
return balances[tokenOwner];
}
function transfer(address receiver, uint256 numTokens) public override returns (bool) {
require(numTokens <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(numTokens);
balances[receiver] = balances[receiver].add(numTokens);
emit Transfer(msg.sender, receiver, numTokens);
return true;
}
function approve(address delegate, uint256 numTokens) public override returns (bool) {
allowed[msg.sender][delegate] = numTokens;
emit Approval(msg.sender, delegate, numTokens);
return true;
}
function allowance(address owner, address delegate) public override view returns (uint) {
return allowed[owner][delegate];
}
function transferFrom(address owner, address buyer, uint256 numTokens) public override returns (bool) {
require(numTokens <= balances[owner]);
require(numTokens <= allowed[owner][msg.sender]);
balances[owner] = balances[owner].sub(numTokens);
allowed[owner][msg.sender] = allowed[owner][msg.sender].sub(numTokens);
balances[buyer] = balances[buyer].add(numTokens);
emit Transfer(owner, buyer, numTokens);
return true;
}
}
library SafeMath {
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract DEX {
event Bought(uint256 amount);
event Sold(uint256 amount);
IERC20 public token;
constructor() public {
token = new ERC20Basic();
}
function buy() payable public {
uint256 amountTobuy = msg.value;
uint256 dexBalance = token.balanceOf(address(this));
require(amountTobuy > 0, "You need to send some ether");
require(amountTobuy <= dexBalance, "Not enough tokens in the reserve");
token.transfer(msg.sender, amountTobuy);
emit Bought(amountTobuy);
}
function sell(uint256 amount) public {
require(amount > 0, "You need to sell at least some tokens");
uint256 allowance = token.allowance(msg.sender, address(this));
require(allowance >= amount, "Check the token allowance");
token.transferFrom(msg.sender, address(this), amount);
msg.sender.transfer(amount);
emit Sold(amount);
}
{
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_113": {
"entryPoint": null,
"id": 113,
"parameterSlots": 0,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 540,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 594,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:516:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "58:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "68:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "82:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "88:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "78:3:1"
},
"nodeType": "YulFunctionCall",
"src": "78:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "68:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "99:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "129:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "135:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "125:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "103:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "176:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "190:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "204:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "212:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "200:3:1"
},
"nodeType": "YulFunctionCall",
"src": "200:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "190:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "156:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "149:6:1"
},
"nodeType": "YulFunctionCall",
"src": "149:26:1"
},
"nodeType": "YulIf",
"src": "146:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "279:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "293:16:1"
},
"nodeType": "YulFunctionCall",
"src": "293:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "243:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "274:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "263:2:1"
},
"nodeType": "YulFunctionCall",
"src": "263:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "240:2:1"
},
"nodeType": "YulFunctionCall",
"src": "240:38:1"
},
"nodeType": "YulIf",
"src": "237:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "42:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "51:6:1",
"type": ""
}
],
"src": "7:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "361:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "378:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "381:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "371:6:1"
},
"nodeType": "YulFunctionCall",
"src": "371:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "371:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "475:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "478:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "468:6:1"
},
"nodeType": "YulFunctionCall",
"src": "468:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "468:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "499:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "502:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "492:6:1"
},
"nodeType": "YulFunctionCall",
"src": "492:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "492:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "333:180:1"
}
]
},
"contents": "{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600781526020017f43727970746f730000000000000000000000000000000000000000000000000081525060009080519060200190620000519291906200016c565b506040518060400160405280600481526020017f4352505400000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f9291906200016c565b506000600255348015620000b257600080fd5b50620f424060038190555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e860056000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000281565b8280546200017a906200021c565b90600052602060002090601f0160209004810192826200019e5760008555620001ea565b82601f10620001b957805160ff1916838001178555620001ea565b82800160010185558215620001ea579182015b82811115620001e9578251825591602001919060010190620001cc565b5b509050620001f99190620001fd565b5090565b5b8082111562000218576000816000905550600101620001fe565b5090565b600060028204905060018216806200023557607f821691505b602082108114156200024c576200024b62000252565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610de080620002916000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80634d853ee5116100715780634d853ee5146101a357806370a08231146101c157806395d89b41146101f1578063a9059cbb1461020f578063dd62ed3e1461023f578063ff8688be1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd1461012557806327e235e314610155578063313ce56714610185575b600080fd5b6100c161029f565b6040516100ce9190610b78565b60405180910390f35b6100f160048036038101906100ec9190610a9c565b61032d565b6040516100fe9190610b5d565b60405180910390f35b61010f610478565b60405161011c9190610b9a565b60405180910390f35b61013f600480360381019061013a9190610a49565b61047e565b60405161014c9190610b5d565b60405180910390f35b61016f600480360381019061016a91906109dc565b61069f565b60405161017c9190610b9a565b60405180910390f35b61018d6106b7565b60405161019a9190610b9a565b60405180910390f35b6101ab6106bd565b6040516101b89190610b42565b60405180910390f35b6101db60048036038101906101d691906109dc565b6106e3565b6040516101e89190610b9a565b60405180910390f35b6101f961072c565b6040516102069190610b78565b60405180910390f35b61022960048036038101906102249190610a9c565b6107ba565b6040516102369190610b5d565b60405180910390f35b61025960048036038101906102549190610a09565b610923565b6040516102669190610b9a565b60405180910390f35b61028960048036038101906102849190610a9c565b6109aa565b6040516102969190610b5d565b60405180910390f35b600080546102ac90610cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890610cd6565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561037b57600080fd5b6000821161038857600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104669190610b9a565b60405180910390a36001905092915050565b60035481565b600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561050957600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561055557600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105a49190610c27565b9250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105fa9190610bd1565b9250508190555081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461068d9190610c27565b92505081905550600190509392505050565b60056020528060005260406000206000915090505481565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6001805461073990610cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461076590610cd6565b80156107b25780601f10610787576101008083540402835291602001916107b2565b820191906000526020600020905b81548152906001019060200180831161079557829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561080857600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108579190610bd1565b9250508190555081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ad9190610c27565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109119190610b9a565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600092915050565b6000813590506109c181610d7c565b92915050565b6000813590506109d681610d93565b92915050565b6000602082840312156109f2576109f1610d66565b5b6000610a00848285016109b2565b91505092915050565b60008060408385031215610a2057610a1f610d66565b5b6000610a2e858286016109b2565b9250506020610a3f858286016109b2565b9150509250929050565b600080600060608486031215610a6257610a61610d66565b5b6000610a70868287016109b2565b9350506020610a81868287016109b2565b9250506040610a92868287016109c7565b9150509250925092565b60008060408385031215610ab357610ab2610d66565b5b6000610ac1858286016109b2565b9250506020610ad2858286016109c7565b9150509250929050565b610ae581610c5b565b82525050565b610af481610c6d565b82525050565b6000610b0582610bb5565b610b0f8185610bc0565b9350610b1f818560208601610ca3565b610b2881610d6b565b840191505092915050565b610b3c81610c99565b82525050565b6000602082019050610b576000830184610adc565b92915050565b6000602082019050610b726000830184610aeb565b92915050565b60006020820190508181036000830152610b928184610afa565b905092915050565b6000602082019050610baf6000830184610b33565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610bdc82610c99565b9150610be783610c99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c1c57610c1b610d08565b5b828201905092915050565b6000610c3282610c99565b9150610c3d83610c99565b925082821015610c5057610c4f610d08565b5b828203905092915050565b6000610c6682610c79565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610cc1578082015181840152602081019050610ca6565b83811115610cd0576000848401525b50505050565b60006002820490506001821680610cee57607f821691505b60208210811415610d0257610d01610d37565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b610d8581610c5b565b8114610d9057600080fd5b50565b610d9c81610c99565b8114610da757600080fd5b5056fea264697066735822122020c2270b19a72b46905e8fc2bdfdd01bc7cccb1a3903fd028cf38ee4beacb90864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x43727970746F7300000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x51 SWAP3 SWAP2 SWAP1 PUSH3 0x16C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4352505400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x9F SWAP3 SWAP2 SWAP1 PUSH3 0x16C JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0xF4240 PUSH1 0x3 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x3E8 PUSH1 0x5 PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH3 0x281 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x17A SWAP1 PUSH3 0x21C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x19E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1EA JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x1B9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1EA JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1EA JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1E9 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1CC JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x1F9 SWAP2 SWAP1 PUSH3 0x1FD JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x218 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x1FE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x235 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x24C JUMPI PUSH3 0x24B PUSH3 0x252 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xDE0 DUP1 PUSH3 0x291 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 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4D853EE5 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x4D853EE5 EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23F JUMPI DUP1 PUSH4 0xFF8688BE EQ PUSH2 0x26F JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x107 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x125 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x185 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xEC SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFE SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11C SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13A SWAP2 SWAP1 PUSH2 0xA49 JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0x9DC JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18D PUSH2 0x6B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH2 0x6BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x9DC JUMP JUMPDEST PUSH2 0x6E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E8 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH2 0x72C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x236 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x259 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x254 SWAP2 SWAP1 PUSH2 0xA09 JUMP JUMPDEST PUSH2 0x923 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x9AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x296 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x2AC SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2D8 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x325 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2FA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x325 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x308 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x388 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x466 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x509 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5A4 SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5FA SWAP2 SWAP1 PUSH2 0xBD1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x739 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x765 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x787 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x795 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x808 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x857 SWAP2 SWAP1 PUSH2 0xBD1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x8AD SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x911 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9C1 DUP2 PUSH2 0xD7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D6 DUP2 PUSH2 0xD93 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F2 JUMPI PUSH2 0x9F1 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA00 DUP5 DUP3 DUP6 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA20 JUMPI PUSH2 0xA1F PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA2E DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA3F DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA62 JUMPI PUSH2 0xA61 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA70 DUP7 DUP3 DUP8 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xA81 DUP7 DUP3 DUP8 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xA92 DUP7 DUP3 DUP8 ADD PUSH2 0x9C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAB3 JUMPI PUSH2 0xAB2 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAC1 DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAD2 DUP6 DUP3 DUP7 ADD PUSH2 0x9C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xAE5 DUP2 PUSH2 0xC5B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAF4 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB05 DUP3 PUSH2 0xBB5 JUMP JUMPDEST PUSH2 0xB0F DUP2 DUP6 PUSH2 0xBC0 JUMP JUMPDEST SWAP4 POP PUSH2 0xB1F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0xB28 DUP2 PUSH2 0xD6B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB3C DUP2 PUSH2 0xC99 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB57 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xADC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB72 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAEB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB92 DUP2 DUP5 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBAF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBDC DUP3 PUSH2 0xC99 JUMP JUMPDEST SWAP2 POP PUSH2 0xBE7 DUP4 PUSH2 0xC99 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xC1C JUMPI PUSH2 0xC1B PUSH2 0xD08 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC32 DUP3 PUSH2 0xC99 JUMP JUMPDEST SWAP2 POP PUSH2 0xC3D DUP4 PUSH2 0xC99 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xC50 JUMPI PUSH2 0xC4F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC66 DUP3 PUSH2 0xC79 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCC1 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCA6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xCD0 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xCEE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xD02 JUMPI PUSH2 0xD01 PUSH2 0xD37 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD85 DUP2 PUSH2 0xC5B JUMP JUMPDEST DUP2 EQ PUSH2 0xD90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD9C DUP2 PUSH2 0xC99 JUMP JUMPDEST DUP2 EQ PUSH2 0xDA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 0xC2 0x27 SIGNEXTEND NOT 0xA7 0x2B CHAINID SWAP1 0x5E DUP16 0xC2 0xBD REVERT 0xD0 SHL 0xC7 0xCC 0xCB BYTE CODECOPY SUB REVERT MUL DUP13 RETURN DUP15 0xE4 0xBE 0xAC 0xB9 ADDMOD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "996:2115:0:-:0;;;1037:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1074:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1133:1;1110:24;;1431:119;;;;;;;;;;1469:7;1455:11;:21;;;;1497:10;1487:7;;:20;;;;;;;;;;;;;;;;;;1538:4;1518:8;:17;1527:7;;;;;;;;;;;1518:17;;;;;;;;;;;;;;;:24;;;;996:2115;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;996:2115:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@allowance_195": {
"entryPoint": 2339,
"id": 195,
"parameterSlots": 2,
"returnSlots": 1
},
"@approve_239": {
"entryPoint": 813,
"id": 239,
"parameterSlots": 2,
"returnSlots": 1
},
"@balanceOf_126": {
"entryPoint": 1763,
"id": 126,
"parameterSlots": 1,
"returnSlots": 1
},
"@balances_88": {
"entryPoint": 1695,
"id": 88,
"parameterSlots": 0,
"returnSlots": 0
},
"@decimals_79": {
"entryPoint": 1719,
"id": 79,
"parameterSlots": 0,
"returnSlots": 0
},
"@founder_84": {
"entryPoint": 1725,
"id": 84,
"parameterSlots": 0,
"returnSlots": 0
},
"@get1000_178": {
"entryPoint": 2474,
"id": 178,
"parameterSlots": 2,
"returnSlots": 1
},
"@name_73": {
"entryPoint": 671,
"id": 73,
"parameterSlots": 0,
"returnSlots": 0
},
"@symbol_76": {
"entryPoint": 1836,
"id": 76,
"parameterSlots": 0,
"returnSlots": 0
},
"@totalSupply_82": {
"entryPoint": 1144,
"id": 82,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferFrom_292": {
"entryPoint": 1150,
"id": 292,
"parameterSlots": 3,
"returnSlots": 1
},
"@transfer_168": {
"entryPoint": 1978,
"id": 168,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 2482,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2503,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2524,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_address": {
"entryPoint": 2569,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 2633,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2716,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2780,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2795,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2810,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2867,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2882,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2909,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2936,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2970,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2997,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3008,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 3025,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 3111,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 3163,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 3181,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3193,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3225,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 3235,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 3286,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 3336,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 3383,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3430,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3435,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_address": {
"entryPoint": 3452,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3475,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6841:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "204:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:1"
},
"nodeType": "YulFunctionCall",
"src": "223:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:1"
},
"nodeType": "YulFunctionCall",
"src": "252:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:1",
"type": ""
}
],
"src": "152:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "363:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "409:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "411:77:1"
},
"nodeType": "YulFunctionCall",
"src": "411:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "411:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "384:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "393:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "380:3:1"
},
"nodeType": "YulFunctionCall",
"src": "380:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "405:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "376:3:1"
},
"nodeType": "YulFunctionCall",
"src": "376:32:1"
},
"nodeType": "YulIf",
"src": "373:119:1"
},
{
"nodeType": "YulBlock",
"src": "502:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "517:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "531:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "521:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "333:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "344:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "356:6:1",
"type": ""
}
],
"src": "297:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "715:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "761:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "763:77:1"
},
"nodeType": "YulFunctionCall",
"src": "763:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "763:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "736:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "745:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "732:3:1"
},
"nodeType": "YulFunctionCall",
"src": "732:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "757:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "728:3:1"
},
"nodeType": "YulFunctionCall",
"src": "728:32:1"
},
"nodeType": "YulIf",
"src": "725:119:1"
},
{
"nodeType": "YulBlock",
"src": "854:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "869:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "883:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "873:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "898:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "933:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "944:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "929:3:1"
},
"nodeType": "YulFunctionCall",
"src": "929:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "953:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "908:20:1"
},
"nodeType": "YulFunctionCall",
"src": "908:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "898:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "981:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "996:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1010:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1000:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1026:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1061:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1072:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1057:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1057:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1081:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1036:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1036:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "677:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "688:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "700:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "708:6:1",
"type": ""
}
],
"src": "632:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1212:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1258:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1260:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1260:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1260:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1233:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1242:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1229:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1229:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1254:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1225:32:1"
},
"nodeType": "YulIf",
"src": "1222:119:1"
},
{
"nodeType": "YulBlock",
"src": "1351:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1366:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1380:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1370:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1395:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1430:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1441:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1426:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1426:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1450:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1405:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1405:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1395:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1478:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1493:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1507:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1497:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1523:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1558:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1569:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1554:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1578:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1533:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1533:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1523:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1606:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1621:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1635:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1625:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1651:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1686:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1697:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1682:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1682:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1706:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1661:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1661:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1651:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1166:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1177:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1189:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1197:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1205:6:1",
"type": ""
}
],
"src": "1112:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1820:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1866:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1868:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1868:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1868:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1841:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1850:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1837:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1837:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1862:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1833:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1833:32:1"
},
"nodeType": "YulIf",
"src": "1830:119:1"
},
{
"nodeType": "YulBlock",
"src": "1959:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1974:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1988:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1978:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2003:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2038:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2049:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2034:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2034:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2058:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2013:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2013:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2003:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2086:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2101:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2115:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2105:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2131:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2166:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2177:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2162:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2162:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2186:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2141:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2141:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2131:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1782:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1793:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1805:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1813:6:1",
"type": ""
}
],
"src": "1737:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2282:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2299:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2322:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2304:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2304:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2292:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2292:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2292:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2270:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2277:3:1",
"type": ""
}
],
"src": "2217:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2400:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2417:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2437:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "2422:14:1"
},
"nodeType": "YulFunctionCall",
"src": "2422:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2410:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2410:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "2410:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2388:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2395:3:1",
"type": ""
}
],
"src": "2341:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2548:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2558:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2605:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2572:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2572:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2562:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2620:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2686:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2691:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2627:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2627:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2620:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2733:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2740:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2729:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2729:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2747:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2752:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2707:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2707:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2707:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2768:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2779:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2806:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2784:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2784:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2775:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2775:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2768:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2529:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2536:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2544:3:1",
"type": ""
}
],
"src": "2456:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2891:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2908:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2931:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2913:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2913:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2901:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2901:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2901:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2879:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2886:3:1",
"type": ""
}
],
"src": "2826:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3048:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3058:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3070:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3081:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3066:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3066:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3058:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3138:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3151:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3162:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3147:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3094:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3094:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3094:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3020:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3032:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3043:4:1",
"type": ""
}
],
"src": "2950:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3270:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3280:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3292:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3303:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3288:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3280:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3354:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3367:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3378:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3363:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "3316:37:1"
},
"nodeType": "YulFunctionCall",
"src": "3316:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3316:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3242:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3254:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3265:4:1",
"type": ""
}
],
"src": "3178:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3512:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3522:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3534:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3545:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3530:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3530:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3522:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3569:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3580:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3565:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3565:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3588:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3594:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3584:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3584:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3558:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3558:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3558:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3614:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3686:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3695:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3622:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3622:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3614:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3484:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3496:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3507:4:1",
"type": ""
}
],
"src": "3394:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3811:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3821:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3833:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3844:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3829:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3829:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3821:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3901:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3914:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3925:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3910:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3910:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3857:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3857:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3857:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3783:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3795:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3806:4:1",
"type": ""
}
],
"src": "3713:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3981:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3991:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4007:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4001:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4001:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3991:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3974:6:1",
"type": ""
}
],
"src": "3941:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4081:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4092:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4108:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4102:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4102:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4092:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4064:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4074:6:1",
"type": ""
}
],
"src": "4022:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4223:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4240:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4245:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4233:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4233:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4233:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4261:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4280:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4285:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4276:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4276:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4261:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4195:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4200:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4211:11:1",
"type": ""
}
],
"src": "4127:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4346:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4356:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4379:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4361:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4361:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4356:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4390:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4413:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4395:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4395:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4390:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4553:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4555:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4555:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4555:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4474:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4481:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4477:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4477:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4471:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4471:81:1"
},
"nodeType": "YulIf",
"src": "4468:107:1"
},
{
"nodeType": "YulAssignment",
"src": "4585:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4596:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4599:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4592:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4592:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "4585:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4333:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4336:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "4342:3:1",
"type": ""
}
],
"src": "4302:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4658:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4668:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4691:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4673:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4673:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4668:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4702:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4725:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4707:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4707:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4702:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4749:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "4751:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4751:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4751:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4743:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4746:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4740:8:1"
},
"nodeType": "YulIf",
"src": "4737:34:1"
},
{
"nodeType": "YulAssignment",
"src": "4781:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "4793:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "4796:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4789:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4789:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "4781:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "4644:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "4647:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "4653:4:1",
"type": ""
}
],
"src": "4613:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4855:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4865:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4894:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "4876:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4876:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4865:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4837:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4847:7:1",
"type": ""
}
],
"src": "4810:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4954:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4964:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4989:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4982:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4982:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4975:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4975:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4964:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4936:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4946:7:1",
"type": ""
}
],
"src": "4912:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5053:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5063:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5085:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5074:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5074:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5063:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5035:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5045:7:1",
"type": ""
}
],
"src": "5008:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5185:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5195:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5206:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5195:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5167:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5177:7:1",
"type": ""
}
],
"src": "5140:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5272:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5282:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5291:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5286:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5351:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5376:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5381:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5372:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5372:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5395:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5400:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5391:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5391:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5385:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5385:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5365:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5365:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "5365:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5312:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5315:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5309:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5309:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5323:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5325:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5334:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5337:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5330:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5325:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5305:3:1",
"statements": []
},
"src": "5301:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5448:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5498:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5503:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5494:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5494:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5512:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5487:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5487:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5487:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5429:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5432:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5426:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5426:13:1"
},
"nodeType": "YulIf",
"src": "5423:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5254:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5259:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5264:6:1",
"type": ""
}
],
"src": "5223:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5587:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5597:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5611:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5617:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5607:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5607:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5597:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5628:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5658:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5664:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5654:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5654:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5632:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5705:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5719:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5733:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5741:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5729:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5729:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5719:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5685:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5678:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5678:26:1"
},
"nodeType": "YulIf",
"src": "5675:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5808:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5822:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5822:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5822:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5772:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5795:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5803:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5792:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5792:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5769:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5769:38:1"
},
"nodeType": "YulIf",
"src": "5766:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5571:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5580:6:1",
"type": ""
}
],
"src": "5536:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5890:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5907:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5910:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5900:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5900:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5900:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6004:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6007:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5997:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5997:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6028:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6031:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6021:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6021:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6021:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "5862:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6076:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6093:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6096:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6086:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6086:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6086:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6190:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6193:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6183:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6183:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6183:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6214:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6217:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6207:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6207:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6207:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6048:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6323:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6340:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6343:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6333:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6333:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6333:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "6234:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6446:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6463:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6466:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6456:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6456:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6456:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "6357:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6528:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6538:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6556:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6563:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6552:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6552:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6572:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6568:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6568:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6548:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6548:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6538:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6511:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6521:6:1",
"type": ""
}
],
"src": "6480:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6631:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6688:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6697:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6700:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6690:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6690:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6690:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6654:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6679:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "6661:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6661:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6651:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6651:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6644:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6644:43:1"
},
"nodeType": "YulIf",
"src": "6641:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6624:5:1",
"type": ""
}
],
"src": "6588:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6759:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6816:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6825:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6828:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6818:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6818:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6818:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6782:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6807:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6789:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6789:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6779:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6779:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6772:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6772:43:1"
},
"nodeType": "YulIf",
"src": "6769:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6752:5:1",
"type": ""
}
],
"src": "6716:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100b45760003560e01c80634d853ee5116100715780634d853ee5146101a357806370a08231146101c157806395d89b41146101f1578063a9059cbb1461020f578063dd62ed3e1461023f578063ff8688be1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd1461012557806327e235e314610155578063313ce56714610185575b600080fd5b6100c161029f565b6040516100ce9190610b78565b60405180910390f35b6100f160048036038101906100ec9190610a9c565b61032d565b6040516100fe9190610b5d565b60405180910390f35b61010f610478565b60405161011c9190610b9a565b60405180910390f35b61013f600480360381019061013a9190610a49565b61047e565b60405161014c9190610b5d565b60405180910390f35b61016f600480360381019061016a91906109dc565b61069f565b60405161017c9190610b9a565b60405180910390f35b61018d6106b7565b60405161019a9190610b9a565b60405180910390f35b6101ab6106bd565b6040516101b89190610b42565b60405180910390f35b6101db60048036038101906101d691906109dc565b6106e3565b6040516101e89190610b9a565b60405180910390f35b6101f961072c565b6040516102069190610b78565b60405180910390f35b61022960048036038101906102249190610a9c565b6107ba565b6040516102369190610b5d565b60405180910390f35b61025960048036038101906102549190610a09565b610923565b6040516102669190610b9a565b60405180910390f35b61028960048036038101906102849190610a9c565b6109aa565b6040516102969190610b5d565b60405180910390f35b600080546102ac90610cd6565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890610cd6565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561037b57600080fd5b6000821161038857600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104669190610b9a565b60405180910390a36001905092915050565b60035481565b600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561050957600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561055557600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105a49190610c27565b9250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105fa9190610bd1565b9250508190555081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461068d9190610c27565b92505081905550600190509392505050565b60056020528060005260406000206000915090505481565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6001805461073990610cd6565b80601f016020809104026020016040519081016040528092919081815260200182805461076590610cd6565b80156107b25780601f10610787576101008083540402835291602001916107b2565b820191906000526020600020905b81548152906001019060200180831161079557829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561080857600080fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108579190610bd1565b9250508190555081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ad9190610c27565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109119190610b9a565b60405180910390a36001905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600092915050565b6000813590506109c181610d7c565b92915050565b6000813590506109d681610d93565b92915050565b6000602082840312156109f2576109f1610d66565b5b6000610a00848285016109b2565b91505092915050565b60008060408385031215610a2057610a1f610d66565b5b6000610a2e858286016109b2565b9250506020610a3f858286016109b2565b9150509250929050565b600080600060608486031215610a6257610a61610d66565b5b6000610a70868287016109b2565b9350506020610a81868287016109b2565b9250506040610a92868287016109c7565b9150509250925092565b60008060408385031215610ab357610ab2610d66565b5b6000610ac1858286016109b2565b9250506020610ad2858286016109c7565b9150509250929050565b610ae581610c5b565b82525050565b610af481610c6d565b82525050565b6000610b0582610bb5565b610b0f8185610bc0565b9350610b1f818560208601610ca3565b610b2881610d6b565b840191505092915050565b610b3c81610c99565b82525050565b6000602082019050610b576000830184610adc565b92915050565b6000602082019050610b726000830184610aeb565b92915050565b60006020820190508181036000830152610b928184610afa565b905092915050565b6000602082019050610baf6000830184610b33565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610bdc82610c99565b9150610be783610c99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c1c57610c1b610d08565b5b828201905092915050565b6000610c3282610c99565b9150610c3d83610c99565b925082821015610c5057610c4f610d08565b5b828203905092915050565b6000610c6682610c79565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610cc1578082015181840152602081019050610ca6565b83811115610cd0576000848401525b50505050565b60006002820490506001821680610cee57607f821691505b60208210811415610d0257610d01610d37565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b610d8581610c5b565b8114610d9057600080fd5b50565b610d9c81610c99565b8114610da757600080fd5b5056fea264697066735822122020c2270b19a72b46905e8fc2bdfdd01bc7cccb1a3903fd028cf38ee4beacb90864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4D853EE5 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x4D853EE5 EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x20F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x23F JUMPI DUP1 PUSH4 0xFF8688BE EQ PUSH2 0x26F JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x107 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x125 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x155 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x185 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x29F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xEC SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x32D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFE SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10F PUSH2 0x478 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11C SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13A SWAP2 SWAP1 PUSH2 0xA49 JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14C SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16A SWAP2 SWAP1 PUSH2 0x9DC JUMP JUMPDEST PUSH2 0x69F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18D PUSH2 0x6B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH2 0x6BD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1DB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x9DC JUMP JUMPDEST PUSH2 0x6E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1E8 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH2 0x72C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x206 SWAP2 SWAP1 PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x229 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x224 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x7BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x236 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x259 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x254 SWAP2 SWAP1 PUSH2 0xA09 JUMP JUMPDEST PUSH2 0x923 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x266 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0xA9C JUMP JUMPDEST PUSH2 0x9AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x296 SWAP2 SWAP1 PUSH2 0xB5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x2AC SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2D8 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x325 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2FA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x325 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x308 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x388 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0x466 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x509 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5A4 SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5FA SWAP2 SWAP1 PUSH2 0xBD1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x6 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x739 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x765 SWAP1 PUSH2 0xCD6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7B2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x787 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7B2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x795 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT ISZERO PUSH2 0x808 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x5 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x857 SWAP2 SWAP1 PUSH2 0xBD1 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x5 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x8AD SWAP2 SWAP1 PUSH2 0xC27 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x911 SWAP2 SWAP1 PUSH2 0xB9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9C1 DUP2 PUSH2 0xD7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9D6 DUP2 PUSH2 0xD93 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9F2 JUMPI PUSH2 0x9F1 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA00 DUP5 DUP3 DUP6 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA20 JUMPI PUSH2 0xA1F PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA2E DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA3F DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA62 JUMPI PUSH2 0xA61 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA70 DUP7 DUP3 DUP8 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xA81 DUP7 DUP3 DUP8 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xA92 DUP7 DUP3 DUP8 ADD PUSH2 0x9C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAB3 JUMPI PUSH2 0xAB2 PUSH2 0xD66 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAC1 DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAD2 DUP6 DUP3 DUP7 ADD PUSH2 0x9C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xAE5 DUP2 PUSH2 0xC5B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAF4 DUP2 PUSH2 0xC6D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB05 DUP3 PUSH2 0xBB5 JUMP JUMPDEST PUSH2 0xB0F DUP2 DUP6 PUSH2 0xBC0 JUMP JUMPDEST SWAP4 POP PUSH2 0xB1F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0xB28 DUP2 PUSH2 0xD6B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB3C DUP2 PUSH2 0xC99 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB57 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xADC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB72 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAEB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB92 DUP2 DUP5 PUSH2 0xAFA JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBAF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBDC DUP3 PUSH2 0xC99 JUMP JUMPDEST SWAP2 POP PUSH2 0xBE7 DUP4 PUSH2 0xC99 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xC1C JUMPI PUSH2 0xC1B PUSH2 0xD08 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC32 DUP3 PUSH2 0xC99 JUMP JUMPDEST SWAP2 POP PUSH2 0xC3D DUP4 PUSH2 0xC99 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0xC50 JUMPI PUSH2 0xC4F PUSH2 0xD08 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC66 DUP3 PUSH2 0xC79 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCC1 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCA6 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xCD0 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xCEE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xD02 JUMPI PUSH2 0xD01 PUSH2 0xD37 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD85 DUP2 PUSH2 0xC5B JUMP JUMPDEST DUP2 EQ PUSH2 0xD90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xD9C DUP2 PUSH2 0xC99 JUMP JUMPDEST DUP2 EQ PUSH2 0xDA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 KECCAK256 0xC2 0x27 SIGNEXTEND NOT 0xA7 0x2B CHAINID SWAP1 0x5E DUP16 0xC2 0xBD REVERT 0xD0 SHL 0xC7 0xCC 0xCB BYTE CODECOPY SUB REVERT MUL DUP13 RETURN DUP15 0xE4 0xBE 0xAC 0xB9 ADDMOD PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "996:2115:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1037:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2419:316;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1161:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2753:355;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1235:40;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1110:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1206:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1568:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1074:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1714:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2257:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2022:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1037:30;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2419:316::-;2491:12;2547:6;2523:8;:20;2532:10;2523:20;;;;;;;;;;;;;;;;:30;;2515:39;;;;;;2582:1;2573:6;:10;2565:19;;;;;;2636:6;2605:7;:19;2613:10;2605:19;;;;;;;;;;;;;;;:28;2625:7;2605:28;;;;;;;;;;;;;;;:37;;;;2689:7;2668:37;;2677:10;2668:37;;;2698:6;2668:37;;;;;;:::i;:::-;;;;;;;;2723:4;2716:11;;2419:316;;;;:::o;1161:32::-;;;;:::o;2753:355::-;2839:12;2893:6;2872:7;:13;2880:4;2872:13;;;;;;;;;;;;;;;:17;2886:2;2872:17;;;;;;;;;;;;;;;;:27;;2864:36;;;;;;2938:6;2920:8;:14;2929:4;2920:14;;;;;;;;;;;;;;;;:24;;2912:33;;;;;;2986:6;2968:8;:14;2977:4;2968:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;3020:6;3004:8;:12;3013:2;3004:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;3059:6;3038:7;:13;3046:4;3038:13;;;;;;;;;;;;;;;:17;3052:2;3038:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;3095:4;3088:11;;2753:355;;;;;:::o;1235:40::-;;;;;;;;;;;;;;;;;:::o;1110:24::-;;;;:::o;1206:22::-;;;;;;;;;;;;;:::o;1568:128::-;1637:12;1668:8;:20;1677:10;1668:20;;;;;;;;;;;;;;;;1661:27;;1568:128;;;:::o;1074:29::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1714:302::-;1781:12;1837:6;1813:8;:20;1822:10;1813:20;;;;;;;;;;;;;;;;:30;;1805:39;;;;;;1881:6;1865:8;:12;1874:2;1865:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;1922:6;1898:8;:20;1907:10;1898:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;1965:2;1944:32;;1953:10;1944:32;;;1969:6;1944:32;;;;;;:::i;:::-;;;;;;;;2004:4;1997:11;;1714:302;;;;:::o;2257:144::-;2342:4;2365:7;:19;2373:10;2365:19;;;;;;;;;;;;;;;:28;2385:7;2365:28;;;;;;;;;;;;;;;;2358:35;;2257:144;;;;:::o;2022:217::-;2083:12;2022:217;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2217:118;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2341:109;;:::o;2456:364::-;2544:3;2572:39;2605:5;2572:39;:::i;:::-;2627:71;2691:6;2686:3;2627:71;:::i;:::-;2620:78;;2707:52;2752:6;2747:3;2740:4;2733:5;2729:16;2707:52;:::i;:::-;2784:29;2806:6;2784:29;:::i;:::-;2779:3;2775:39;2768:46;;2548:272;2456:364;;;;:::o;2826:118::-;2913:24;2931:5;2913:24;:::i;:::-;2908:3;2901:37;2826:118;;:::o;2950:222::-;3043:4;3081:2;3070:9;3066:18;3058:26;;3094:71;3162:1;3151:9;3147:17;3138:6;3094:71;:::i;:::-;2950:222;;;;:::o;3178:210::-;3265:4;3303:2;3292:9;3288:18;3280:26;;3316:65;3378:1;3367:9;3363:17;3354:6;3316:65;:::i;:::-;3178:210;;;;:::o;3394:313::-;3507:4;3545:2;3534:9;3530:18;3522:26;;3594:9;3588:4;3584:20;3580:1;3569:9;3565:17;3558:47;3622:78;3695:4;3686:6;3622:78;:::i;:::-;3614:86;;3394:313;;;;:::o;3713:222::-;3806:4;3844:2;3833:9;3829:18;3821:26;;3857:71;3925:1;3914:9;3910:17;3901:6;3857:71;:::i;:::-;3713:222;;;;:::o;4022:99::-;4074:6;4108:5;4102:12;4092:22;;4022:99;;;:::o;4127:169::-;4211:11;4245:6;4240:3;4233:19;4285:4;4280:3;4276:14;4261:29;;4127:169;;;;:::o;4302:305::-;4342:3;4361:20;4379:1;4361:20;:::i;:::-;4356:25;;4395:20;4413:1;4395:20;:::i;:::-;4390:25;;4549:1;4481:66;4477:74;4474:1;4471:81;4468:107;;;4555:18;;:::i;:::-;4468:107;4599:1;4596;4592:9;4585:16;;4302:305;;;;:::o;4613:191::-;4653:4;4673:20;4691:1;4673:20;:::i;:::-;4668:25;;4707:20;4725:1;4707:20;:::i;:::-;4702:25;;4746:1;4743;4740:8;4737:34;;;4751:18;;:::i;:::-;4737:34;4796:1;4793;4789:9;4781:17;;4613:191;;;;:::o;4810:96::-;4847:7;4876:24;4894:5;4876:24;:::i;:::-;4865:35;;4810:96;;;:::o;4912:90::-;4946:7;4989:5;4982:13;4975:21;4964:32;;4912:90;;;:::o;5008:126::-;5045:7;5085:42;5078:5;5074:54;5063:65;;5008:126;;;:::o;5140:77::-;5177:7;5206:5;5195:16;;5140:77;;;:::o;5223:307::-;5291:1;5301:113;5315:6;5312:1;5309:13;5301:113;;;5400:1;5395:3;5391:11;5385:18;5381:1;5376:3;5372:11;5365:39;5337:2;5334:1;5330:10;5325:15;;5301:113;;;5432:6;5429:1;5426:13;5423:101;;;5512:1;5503:6;5498:3;5494:16;5487:27;5423:101;5272:258;5223:307;;;:::o;5536:320::-;5580:6;5617:1;5611:4;5607:12;5597:22;;5664:1;5658:4;5654:12;5685:18;5675:81;;5741:4;5733:6;5729:17;5719:27;;5675:81;5803:2;5795:6;5792:14;5772:18;5769:38;5766:84;;;5822:18;;:::i;:::-;5766:84;5587:269;5536:320;;;:::o;5862:180::-;5910:77;5907:1;5900:88;6007:4;6004:1;5997:15;6031:4;6028:1;6021:15;6048:180;6096:77;6093:1;6086:88;6193:4;6190:1;6183:15;6217:4;6214:1;6207:15;6357:117;6466:1;6463;6456:12;6480:102;6521:6;6572:2;6568:7;6563:2;6556:5;6552:14;6548:28;6538:38;;6480:102;;;:::o;6588:122::-;6661:24;6679:5;6661:24;:::i;:::-;6654:5;6651:35;6641:63;;6700:1;6697;6690:12;6641:63;6588:122;:::o;6716:::-;6789:24;6807:5;6789:24;:::i;:::-;6782:5;6779:35;6769:63;;6828:1;6825;6818:12;6769:63;6716:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "710400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"allowance(address,address)": "infinite",
"approve(address,uint256)": "infinite",
"balanceOf(address)": "2863",
"balances(address)": "2903",
"decimals()": "2540",
"founder()": "2514",
"get1000(address,uint256)": "932",
"name()": "infinite",
"symbol()": "infinite",
"totalSupply()": "2474",
"transfer(address,uint256)": "infinite",
"transferFrom(address,address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"balances(address)": "27e235e3",
"decimals()": "313ce567",
"founder()": "4d853ee5",
"get1000(address,uint256)": "ff8688be",
"name()": "06fdde03",
"symbol()": "95d89b41",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "founder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "get1000",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balances",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "founder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "get1000",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"example_with_tokens.sol": "Cryptos"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"example_with_tokens.sol": {
"keccak256": "0xd77925eba33dfc3a0cd11c8cc87a98f710e762a2fb717cb3605b2b2ae885a7cb",
"license": "GPL-3.0",
"urls": [
"bzz-raw://d1513ca0ee3f37b448a875a359f9cffdd70ba5508af2d49a45ba26dd6cd2bad3",
"dweb:/ipfs/QmSRL2PqEVWEZTG9iGrmEdkeE6Giw5GqVgVe5nN86ux1HP"
]
}
},
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_128": {
"entryPoint": null,
"id": 128,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061044a806100606000396000f3fe6080604052600436106100385760003560e01c806305b1137b1461004457806312065fe0146100815780638da5cb5b146100ac5761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610226565b6100d7565b60405161007891906102d1565b60405180910390f35b34801561008d57600080fd5b506100966101d0565b6040516100a3919061030c565b60405180910390f35b3480156100b857600080fd5b506100c16101d8565b6040516100ce91906102b6565b60405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015e906102ec565b60405180910390fd5b61016f6101d0565b82116101c5578273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101bb573d6000803e3d6000fd5b50600190506101ca565b600090505b92915050565b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061020b816103e6565b92915050565b600081359050610220816103fd565b92915050565b6000806040838503121561023d5761023c610392565b5b600061024b858286016101fc565b925050602061025c85828601610211565b9150509250929050565b61026f81610338565b82525050565b61027e8161035c565b82525050565b6000610291602883610327565b915061029c82610397565b604082019050919050565b6102b081610388565b82525050565b60006020820190506102cb6000830184610266565b92915050565b60006020820190506102e66000830184610275565b92915050565b6000602082019050818103600083015261030581610284565b9050919050565b600060208201905061032160008301846102a7565b92915050565b600082825260208201905092915050565b600061034382610368565b9050919050565b600061035582610368565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f5472616e73666572206661696c65642c20796f7520617265206e6f742074686560008201527f206f776e65722121000000000000000000000000000000000000000000000000602082015250565b6103ef8161034a565b81146103fa57600080fd5b50565b61040681610388565b811461041157600080fd5b5056fea26469706673582212209a2e598a2885aabbc45608acbff0d42611b24d1969786daeeea4df53d97ebf2864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x44A DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5B1137B EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAC JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x226 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH2 0x1D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA3 SWAP2 SWAP1 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC1 PUSH2 0x1D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x167 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E SWAP1 PUSH2 0x2EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x16F PUSH2 0x1D0 JUMP JUMPDEST DUP3 GT PUSH2 0x1C5 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 SWAP1 POP PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20B DUP2 PUSH2 0x3E6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x220 DUP2 PUSH2 0x3FD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x23D JUMPI PUSH2 0x23C PUSH2 0x392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP6 DUP3 DUP7 ADD PUSH2 0x1FC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x25C DUP6 DUP3 DUP7 ADD PUSH2 0x211 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x26F DUP2 PUSH2 0x338 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x27E DUP2 PUSH2 0x35C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x291 PUSH1 0x28 DUP4 PUSH2 0x327 JUMP JUMPDEST SWAP2 POP PUSH2 0x29C DUP3 PUSH2 0x397 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B0 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x266 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x275 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x305 DUP2 PUSH2 0x284 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x321 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x343 DUP3 PUSH2 0x368 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x355 DUP3 PUSH2 0x368 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5472616E73666572206661696C65642C20796F7520617265206E6F7420746865 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F776E65722121000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x3EF DUP2 PUSH2 0x34A JUMP JUMPDEST DUP2 EQ PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x406 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP2 EQ PUSH2 0x411 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0x2E MSIZE DUP11 0x28 DUP6 0xAA 0xBB 0xC4 JUMP ADDMOD 0xAC 0xBF CREATE 0xD4 0x26 GT 0xB2 0x4D NOT PUSH10 0x786DAEEEA4DF53D97EBF 0x28 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "2258:1009:0:-:0;;;2317:55;;;;;;;;;;2349:10;2341:5;;:18;;;;;;;;;;;;;;;;;;2258:1009;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_132": {
"entryPoint": null,
"id": 132,
"parameterSlots": 0,
"returnSlots": 0
},
"@getBalance_144": {
"entryPoint": 464,
"id": 144,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_119": {
"entryPoint": 472,
"id": 119,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferEther_179": {
"entryPoint": 215,
"id": 179,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 508,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 529,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 550,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 614,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 629,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a_to_t_string_memory_ptr_fromStack": {
"entryPoint": 644,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 679,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 694,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 721,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 748,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 780,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 807,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 824,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 842,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 860,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 872,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 914,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a": {
"entryPoint": 919,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 998,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1021,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4168:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "67:95:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "99:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "86:12:1"
},
"nodeType": "YulFunctionCall",
"src": "86:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "150:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "115:34:1"
},
"nodeType": "YulFunctionCall",
"src": "115:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "115:41:1"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "45:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "53:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "61:5:1",
"type": ""
}
],
"src": "7:155:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "220:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "230:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "252:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "239:12:1"
},
"nodeType": "YulFunctionCall",
"src": "239:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "230:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "268:26:1"
},
"nodeType": "YulFunctionCall",
"src": "268:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "268:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "198:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "206:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "214:5:1",
"type": ""
}
],
"src": "168:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "404:399:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "450:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "452:77:1"
},
"nodeType": "YulFunctionCall",
"src": "452:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "452:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "425:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "434:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "421:3:1"
},
"nodeType": "YulFunctionCall",
"src": "421:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "446:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "417:3:1"
},
"nodeType": "YulFunctionCall",
"src": "417:32:1"
},
"nodeType": "YulIf",
"src": "414:119:1"
},
{
"nodeType": "YulBlock",
"src": "543:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "558:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "572:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "562:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "587:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "630:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "641:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "626:3:1"
},
"nodeType": "YulFunctionCall",
"src": "626:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "650:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "597:28:1"
},
"nodeType": "YulFunctionCall",
"src": "597:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "587:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "678:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "693:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "707:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "697:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "723:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "758:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "769:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "754:3:1"
},
"nodeType": "YulFunctionCall",
"src": "754:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "778:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "733:20:1"
},
"nodeType": "YulFunctionCall",
"src": "733:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "723:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "366:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "377:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "389:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "397:6:1",
"type": ""
}
],
"src": "313:490:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "874:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "891:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "914:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "896:17:1"
},
"nodeType": "YulFunctionCall",
"src": "896:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "884:6:1"
},
"nodeType": "YulFunctionCall",
"src": "884:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "884:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "862:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "869:3:1",
"type": ""
}
],
"src": "809:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "992:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1009:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1014:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1014:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1002:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1002:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1002:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "980:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "987:3:1",
"type": ""
}
],
"src": "933:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1194:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1204:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1270:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1275:2:1",
"type": "",
"value": "40"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "1211:58:1"
},
"nodeType": "YulFunctionCall",
"src": "1211:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1204:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1376:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a",
"nodeType": "YulIdentifier",
"src": "1287:88:1"
},
"nodeType": "YulFunctionCall",
"src": "1287:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "1287:93:1"
},
{
"nodeType": "YulAssignment",
"src": "1389:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1400:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1405:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1396:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "1389:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1182:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1190:3:1",
"type": ""
}
],
"src": "1048:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1485:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1502:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1525:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1507:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1507:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1495:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1495:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1495:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1473:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1480:3:1",
"type": ""
}
],
"src": "1420:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1642:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1652:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1664:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1675:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1660:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1660:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1652:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1732:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1745:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1756:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1741:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1741:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1688:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1688:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1688:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1614:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1626:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1637:4:1",
"type": ""
}
],
"src": "1544:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1864:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1874:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1886:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1897:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1882:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1882:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1948:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1961:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1972:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1957:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1957:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1910:37:1"
},
"nodeType": "YulFunctionCall",
"src": "1910:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1910:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1836:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1848:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1859:4:1",
"type": ""
}
],
"src": "1772:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2159:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2169:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2181:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2192:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2177:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2177:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2169:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2216:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2227:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2212:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2212:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2235:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2241:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2231:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2205:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2205:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "2205:47:1"
},
{
"nodeType": "YulAssignment",
"src": "2261:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2395:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2269:124:1"
},
"nodeType": "YulFunctionCall",
"src": "2269:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2261:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2139:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2154:4:1",
"type": ""
}
],
"src": "1988:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2511:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2521:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2533:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2544:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2529:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2529:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2521:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2601:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2614:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2625:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2610:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2610:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2557:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2557:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2557:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2483:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2495:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2506:4:1",
"type": ""
}
],
"src": "2413:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2681:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2691:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2707:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2701:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2701:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2691:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2674:6:1",
"type": ""
}
],
"src": "2641:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2818:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2835:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2840:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2828:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2828:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2828:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2856:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2875:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2880:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2871:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2871:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2856:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2790:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2795:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2806:11:1",
"type": ""
}
],
"src": "2722:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2942:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2952:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2981:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2963:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2963:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2952:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2924:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2934:7:1",
"type": ""
}
],
"src": "2897:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3052:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3062:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3091:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "3073:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3073:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3062:7:1"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3034:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3044:7:1",
"type": ""
}
],
"src": "2999:104:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3151:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3161:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3186:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3179:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3179:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3172:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3172:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3161:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3133:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3143:7:1",
"type": ""
}
],
"src": "3109:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3250:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3260:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3275:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3282:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3271:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3271:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3260:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3232:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3242:7:1",
"type": ""
}
],
"src": "3205:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3382:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3392:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "3403:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "3392:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3364:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "3374:7:1",
"type": ""
}
],
"src": "3337:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3509:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3519:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3420:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3632:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3649:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3652:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3642:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3642:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3642:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3543:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3772:121:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3794:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3802:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3790:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3790:14:1"
},
{
"hexValue": "5472616e73666572206661696c65642c20796f7520617265206e6f7420746865",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3806:34:1",
"type": "",
"value": "Transfer failed, you are not the"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3783:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3783:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "3783:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3862:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3870:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3858:15:1"
},
{
"hexValue": "206f776e65722121",
"kind": "string",
"nodeType": "YulLiteral",
"src": "3875:10:1",
"type": "",
"value": " owner!!"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3851:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3851:35:1"
},
"nodeType": "YulExpressionStatement",
"src": "3851:35:1"
}
]
},
"name": "store_literal_in_memory_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3764:6:1",
"type": ""
}
],
"src": "3666:227:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3950:87:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4015:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4024:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4027:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4017:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4017:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4017:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3973:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4006:5:1"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "3980:25:1"
},
"nodeType": "YulFunctionCall",
"src": "3980:32:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3970:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3970:43:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3963:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3963:51:1"
},
"nodeType": "YulIf",
"src": "3960:71:1"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3943:5:1",
"type": ""
}
],
"src": "3899:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4086:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4143:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4152:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4155:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4145:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4145:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4145:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4109:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4134:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4116:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4116:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4106:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4106:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4099:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4099:43:1"
},
"nodeType": "YulIf",
"src": "4096:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4079:5:1",
"type": ""
}
],
"src": "4043:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address_payablet_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a(pos)\n end := add(pos, 64)\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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function 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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_157712ddbda75725b5567cf3719630f48443d4ffcdb876dea376902e6887315a(memPtr) {\n\n mstore(add(memPtr, 0), \"Transfer failed, you are not the\")\n\n mstore(add(memPtr, 32), \" owner!!\")\n\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100385760003560e01c806305b1137b1461004457806312065fe0146100815780638da5cb5b146100ac5761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610226565b6100d7565b60405161007891906102d1565b60405180910390f35b34801561008d57600080fd5b506100966101d0565b6040516100a3919061030c565b60405180910390f35b3480156100b857600080fd5b506100c16101d8565b6040516100ce91906102b6565b60405180910390f35b60003373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161015e906102ec565b60405180910390fd5b61016f6101d0565b82116101c5578273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101bb573d6000803e3d6000fd5b50600190506101ca565b600090505b92915050565b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008135905061020b816103e6565b92915050565b600081359050610220816103fd565b92915050565b6000806040838503121561023d5761023c610392565b5b600061024b858286016101fc565b925050602061025c85828601610211565b9150509250929050565b61026f81610338565b82525050565b61027e8161035c565b82525050565b6000610291602883610327565b915061029c82610397565b604082019050919050565b6102b081610388565b82525050565b60006020820190506102cb6000830184610266565b92915050565b60006020820190506102e66000830184610275565b92915050565b6000602082019050818103600083015261030581610284565b9050919050565b600060208201905061032160008301846102a7565b92915050565b600082825260208201905092915050565b600061034382610368565b9050919050565b600061035582610368565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f5472616e73666572206661696c65642c20796f7520617265206e6f742074686560008201527f206f776e65722121000000000000000000000000000000000000000000000000602082015250565b6103ef8161034a565b81146103fa57600080fd5b50565b61040681610388565b811461041157600080fd5b5056fea26469706673582212209a2e598a2885aabbc45608acbff0d42611b24d1969786daeeea4df53d97ebf2864736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x38 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5B1137B EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xAC JUMPI PUSH2 0x3F JUMP JUMPDEST CALLDATASIZE PUSH2 0x3F JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x226 JUMP JUMPDEST PUSH2 0xD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x2D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x96 PUSH2 0x1D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA3 SWAP2 SWAP1 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC1 PUSH2 0x1D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x167 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x15E SWAP1 PUSH2 0x2EC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x16F PUSH2 0x1D0 JUMP JUMPDEST DUP3 GT PUSH2 0x1C5 JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 SWAP1 POP PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x20B DUP2 PUSH2 0x3E6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x220 DUP2 PUSH2 0x3FD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x23D JUMPI PUSH2 0x23C PUSH2 0x392 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP6 DUP3 DUP7 ADD PUSH2 0x1FC JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x25C DUP6 DUP3 DUP7 ADD PUSH2 0x211 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x26F DUP2 PUSH2 0x338 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x27E DUP2 PUSH2 0x35C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x291 PUSH1 0x28 DUP4 PUSH2 0x327 JUMP JUMPDEST SWAP2 POP PUSH2 0x29C DUP3 PUSH2 0x397 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2B0 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2CB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x266 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E6 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x275 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x305 DUP2 PUSH2 0x284 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x321 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x343 DUP3 PUSH2 0x368 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x355 DUP3 PUSH2 0x368 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x5472616E73666572206661696C65642C20796F7520617265206E6F7420746865 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206F776E65722121000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x3EF DUP2 PUSH2 0x34A JUMP JUMPDEST DUP2 EQ PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x406 DUP2 PUSH2 0x388 JUMP JUMPDEST DUP2 EQ PUSH2 0x411 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0x2E MSIZE DUP11 0x28 DUP6 0xAA 0xBB 0xC4 JUMP ADDMOD 0xAC 0xBF CREATE 0xD4 0x26 GT 0xB2 0x4D NOT PUSH10 0x786DAEEEA4DF53D97EBF 0x28 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "2258:1009:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2630:628;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2442:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2282:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2630:628;2708:4;2841:10;2832:19;;:5;;;;;;;;;;:19;;;2824:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2933:12;:10;:12::i;:::-;2923:6;:22;2919:331;;3139:9;:18;;:26;3158:6;3139:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3188:4;3181:11;;;;2919:331;3232:5;3225:12;;2630:628;;;;;:::o;2442:96::-;2484:4;2508:21;2501:28;;2442:96;:::o;2282:20::-;;;;;;;;;;;;:::o;7:155:1:-;61:5;99:6;86:20;77:29;;115:41;150:5;115:41;:::i;:::-;7:155;;;;:::o;168:139::-;214:5;252:6;239:20;230:29;;268:33;295:5;268:33;:::i;:::-;168:139;;;;:::o;313:490::-;389:6;397;446:2;434:9;425:7;421:23;417:32;414:119;;;452:79;;:::i;:::-;414:119;572:1;597:61;650:7;641:6;630:9;626:22;597:61;:::i;:::-;587:71;;543:125;707:2;733:53;778:7;769:6;758:9;754:22;733:53;:::i;:::-;723:63;;678:118;313:490;;;;;:::o;809:118::-;896:24;914:5;896:24;:::i;:::-;891:3;884:37;809:118;;:::o;933:109::-;1014:21;1029:5;1014:21;:::i;:::-;1009:3;1002:34;933:109;;:::o;1048:366::-;1190:3;1211:67;1275:2;1270:3;1211:67;:::i;:::-;1204:74;;1287:93;1376:3;1287:93;:::i;:::-;1405:2;1400:3;1396:12;1389:19;;1048:366;;;:::o;1420:118::-;1507:24;1525:5;1507:24;:::i;:::-;1502:3;1495:37;1420:118;;:::o;1544:222::-;1637:4;1675:2;1664:9;1660:18;1652:26;;1688:71;1756:1;1745:9;1741:17;1732:6;1688:71;:::i;:::-;1544:222;;;;:::o;1772:210::-;1859:4;1897:2;1886:9;1882:18;1874:26;;1910:65;1972:1;1961:9;1957:17;1948:6;1910:65;:::i;:::-;1772:210;;;;:::o;1988:419::-;2154:4;2192:2;2181:9;2177:18;2169:26;;2241:9;2235:4;2231:20;2227:1;2216:9;2212:17;2205:47;2269:131;2395:4;2269:131;:::i;:::-;2261:139;;1988:419;;;:::o;2413:222::-;2506:4;2544:2;2533:9;2529:18;2521:26;;2557:71;2625:1;2614:9;2610:17;2601:6;2557:71;:::i;:::-;2413:222;;;;:::o;2722:169::-;2806:11;2840:6;2835:3;2828:19;2880:4;2875:3;2871:14;2856:29;;2722:169;;;;:::o;2897:96::-;2934:7;2963:24;2981:5;2963:24;:::i;:::-;2952:35;;2897:96;;;:::o;2999:104::-;3044:7;3073:24;3091:5;3073:24;:::i;:::-;3062:35;;2999:104;;;:::o;3109:90::-;3143:7;3186:5;3179:13;3172:21;3161:32;;3109:90;;;:::o;3205:126::-;3242:7;3282:42;3275:5;3271:54;3260:65;;3205:126;;;:::o;3337:77::-;3374:7;3403:5;3392:16;;3337:77;;;:::o;3543:117::-;3652:1;3649;3642:12;3666:227;3806:34;3802:1;3794:6;3790:14;3783:58;3875:10;3870:2;3862:6;3858:15;3851:35;3666:227;:::o;3899:138::-;3980:32;4006:5;3980:32;:::i;:::-;3973:5;3970:43;3960:71;;4027:1;4024;4017:12;3960:71;3899:138;:::o;4043:122::-;4116:24;4134:5;4116:24;:::i;:::-;4109:5;4106:35;4096:63;;4155:1;4152;4145:12;4096:63;4043:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "219600",
"executionCost": "24529",
"totalCost": "244129"
},
"external": {
"getBalance()": "339",
"owner()": "2533",
"transferEther(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"getBalance()": "12065fe0",
"owner()": "8da5cb5b",
"transferEther(address,uint256)": "05b1137b"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferEther",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferEther",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"send_example.sol": "Deposit"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"send_example.sol": {
"keccak256": "0x4c1e16f9b52f622a05fb165a2906cf0121afca7fec76a21d5711e5bc8e69c743",
"license": "MIT",
"urls": [
"bzz-raw://6731a557c23d3da5afbbd05bafae3aa757a25ab8c287d5c769ab3c87c231db55",
"dweb:/ipfs/QmSviw6e1W58RjBtEc3pg4dUvrBLMSyyhhmxS1zGLPo7uE"
]
}
},
"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
},
"görli: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": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "remaining",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokens",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"example_with_tokens.sol": "ERC20Interface"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"example_with_tokens.sol": {
"keccak256": "0xd77925eba33dfc3a0cd11c8cc87a98f710e762a2fb717cb3605b2b2ae885a7cb",
"license": "GPL-3.0",
"urls": [
"bzz-raw://d1513ca0ee3f37b448a875a359f9cffdd70ba5508af2d49a45ba26dd6cd2bad3",
"dweb:/ipfs/QmSRL2PqEVWEZTG9iGrmEdkeE6Giw5GqVgVe5nN86ux1HP"
]
}
},
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015604f57600080fd5b50603f80605d6000396000f3fe6080604052600080fdfea264697066735822122048a6fb12da9801ed9ba3e8e57e67863ec5382715dedf1a4b5f1ef12fc6f90e5064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH1 0x4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x5D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE 0xA6 0xFB SLT 0xDA SWAP9 ADD 0xED SWAP12 LOG3 0xE8 0xE5 PUSH31 0x67863EC5382715DEDF1A4B5F1EF12FC6F90E5064736F6C6343000807003300 ",
"sourceMap": "76:94:0:-:0;;;145:10;128:27;;;;;;;;;;;;;;;;;;;;76:94;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea264697066735822122048a6fb12da9801ed9ba3e8e57e67863ec5382715dedf1a4b5f1ef12fc6f90e5064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE 0xA6 0xFB SLT 0xDA SWAP9 ADD 0xED SWAP12 LOG3 0xE8 0xE5 PUSH31 0x67863EC5382715DEDF1A4B5F1EF12FC6F90E5064736F6C6343000807003300 ",
"sourceMap": "76:94:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "24332",
"totalCost": "36932"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"templates.sol": "Ex"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"templates.sol": {
"keccak256": "0x5cfb3562bd242e27128ff08fc557b589f91bd9dc8268ce803061a0dce0676431",
"license": "GPL-3.0",
"urls": [
"bzz-raw://d159a4d93cf02ed76c7679078eb319ff2080dcbffffe02dd3e93e102bcfd03b0",
"dweb:/ipfs/QmRFAXSsW84GfPZ8kiusBJe5DiSpc4Z6MoUkChmBnKnwkt"
]
}
},
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_628": {
"entryPoint": null,
"id": 628,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ad4806100606000396000f3fe6080604052600436106100425760003560e01c8062f714ce146100a05780638da5cb5b146100c95780639db5dbe4146100f4578063b69ef8a81461011d5761009b565b3661009b5734600160008282546100599190610850565b925050819055507ff1b03f708b9c39f453fe3f0cef84164c7d6f7df836df0796e1e9c2bce6ee397e333460405161009192919061079b565b60405180910390a1005b600080fd5b3480156100ac57600080fd5b506100c760048036038101906100c2919061063c565b610148565b005b3480156100d557600080fd5b506100de6102ba565b6040516100eb9190610712565b60405180910390f35b34801561010057600080fd5b5061011b600480360381019061011691906105bc565b6102de565b005b34801561012957600080fd5b5061013261050b565b60405161013f9190610824565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cd906107c4565b60405180910390fd5b60015482111561021b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610212906107e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610261573d6000803e3d6000fd5b50816001600082825461027491906108a6565b925050819055507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e3382846040516102ae9392919061072d565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610363906107c4565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103a79190610712565b60206040518083038186803b1580156103bf57600080fd5b505afa1580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f7919061060f565b90508082111561043c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043390610804565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161047792919061079b565b602060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c9919061058f565b507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e3384846040516104fd93929190610764565b60405180910390a150505050565b60015481565b60008135905061052081610a2b565b92915050565b60008135905061053581610a42565b92915050565b60008151905061054a81610a59565b92915050565b60008135905061055f81610a70565b92915050565b60008135905061057481610a87565b92915050565b60008151905061058981610a87565b92915050565b6000602082840312156105a5576105a46109ab565b5b60006105b38482850161053b565b91505092915050565b6000806000606084860312156105d5576105d46109ab565b5b60006105e386828701610550565b93505060206105f486828701610511565b925050604061060586828701610565565b9150509250925092565b600060208284031215610625576106246109ab565b5b60006106338482850161057a565b91505092915050565b60008060408385031215610653576106526109ab565b5b600061066185828601610565565b925050602061067285828601610526565b9150509250929050565b61068581610946565b82525050565b610694816108da565b82525050565b60006106a7601d8361083f565b91506106b2826109b0565b602082019050919050565b60006106ca60128361083f565b91506106d5826109d9565b602082019050919050565b60006106ed600e8361083f565b91506106f882610a02565b602082019050919050565b61070c8161093c565b82525050565b6000602082019050610727600083018461068b565b92915050565b6000606082019050610742600083018661068b565b61074f602083018561067c565b61075c6040830184610703565b949350505050565b6000606082019050610779600083018661068b565b610786602083018561068b565b6107936040830184610703565b949350505050565b60006040820190506107b0600083018561068b565b6107bd6020830184610703565b9392505050565b600060208201905081810360008301526107dd8161069a565b9050919050565b600060208201905081810360008301526107fd816106bd565b9050919050565b6000602082019050818103600083015261081d816106e0565b9050919050565b60006020820190506108396000830184610703565b92915050565b600082825260208201905092915050565b600061085b8261093c565b91506108668361093c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561089b5761089a61097c565b5b828201905092915050565b60006108b18261093c565b91506108bc8361093c565b9250828210156108cf576108ce61097c565b5b828203905092915050565b60006108e58261091c565b9050919050565b60006108f78261091c565b9050919050565b60008115159050919050565b6000610915826108da565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061095182610958565b9050919050565b60006109638261096a565b9050919050565b60006109758261091c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f4f6e6c79206f776e65722063616e2077697468647261772066756e6473000000600082015250565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b7f62616c616e6365206973206c6f77000000000000000000000000000000000000600082015250565b610a34816108da565b8114610a3f57600080fd5b50565b610a4b816108ec565b8114610a5657600080fd5b50565b610a62816108fe565b8114610a6d57600080fd5b50565b610a798161090a565b8114610a8457600080fd5b50565b610a908161093c565b8114610a9b57600080fd5b5056fea2646970667358221220f90a6c0381fb9bebf8030fc182c085143d81645cc76bfbad36be3e28ea47df3364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xAD4 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x42 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x9DB5DBE4 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0x11D JUMPI PUSH2 0x9B JUMP JUMPDEST CALLDATASIZE PUSH2 0x9B JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x59 SWAP2 SWAP1 PUSH2 0x850 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xF1B03F708B9C39F453FE3F0CEF84164C7D6F7DF836DF0796E1E9C2BCE6EE397E CALLER CALLVALUE PUSH1 0x40 MLOAD PUSH2 0x91 SWAP3 SWAP2 SWAP1 PUSH2 0x79B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x63C JUMP JUMPDEST PUSH2 0x148 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x2BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x712 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x116 SWAP2 SWAP1 PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x2DE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x50B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x824 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x21B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x212 SWAP1 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x261 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x36C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x363 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D3 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 0x3F7 SWAP2 SWAP1 PUSH2 0x60F JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x43C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x433 SWAP1 PUSH2 0x804 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x477 SWAP3 SWAP2 SWAP1 PUSH2 0x79B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4A5 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 0x4C9 SWAP2 SWAP1 PUSH2 0x58F JUMP JUMPDEST POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4FD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x520 DUP2 PUSH2 0xA2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x535 DUP2 PUSH2 0xA42 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x54A DUP2 PUSH2 0xA59 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55F DUP2 PUSH2 0xA70 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x574 DUP2 PUSH2 0xA87 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x589 DUP2 PUSH2 0xA87 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A4 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5B3 DUP5 DUP3 DUP6 ADD PUSH2 0x53B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5D5 JUMPI PUSH2 0x5D4 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5E3 DUP7 DUP3 DUP8 ADD PUSH2 0x550 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x5F4 DUP7 DUP3 DUP8 ADD PUSH2 0x511 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x605 DUP7 DUP3 DUP8 ADD PUSH2 0x565 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x625 JUMPI PUSH2 0x624 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x633 DUP5 DUP3 DUP6 ADD PUSH2 0x57A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x653 JUMPI PUSH2 0x652 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x661 DUP6 DUP3 DUP7 ADD PUSH2 0x565 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x672 DUP6 DUP3 DUP7 ADD PUSH2 0x526 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x685 DUP2 PUSH2 0x946 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x694 DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6A7 PUSH1 0x1D DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6B2 DUP3 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6CA PUSH1 0x12 DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6D5 DUP3 PUSH2 0x9D9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6ED PUSH1 0xE DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6F8 DUP3 PUSH2 0xA02 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x70C DUP2 PUSH2 0x93C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x727 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x68B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x742 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x74F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x67C JUMP JUMPDEST PUSH2 0x75C PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x779 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x786 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x793 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x7B0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x7BD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7DD DUP2 PUSH2 0x69A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7FD DUP2 PUSH2 0x6BD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x81D DUP2 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x839 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85B DUP3 PUSH2 0x93C JUMP JUMPDEST SWAP2 POP PUSH2 0x866 DUP4 PUSH2 0x93C JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x89B JUMPI PUSH2 0x89A PUSH2 0x97C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B1 DUP3 PUSH2 0x93C JUMP JUMPDEST SWAP2 POP PUSH2 0x8BC DUP4 PUSH2 0x93C JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x8CF JUMPI PUSH2 0x8CE PUSH2 0x97C JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E5 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8F7 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x915 DUP3 PUSH2 0x8DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x951 DUP3 PUSH2 0x958 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x963 DUP3 PUSH2 0x96A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x975 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2077697468647261772066756E6473000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742066756E64730000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x62616C616E6365206973206C6F77000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA34 DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP2 EQ PUSH2 0xA3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA4B DUP2 PUSH2 0x8EC JUMP JUMPDEST DUP2 EQ PUSH2 0xA56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA62 DUP2 PUSH2 0x8FE JUMP JUMPDEST DUP2 EQ PUSH2 0xA6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA79 DUP2 PUSH2 0x90A JUMP JUMPDEST DUP2 EQ PUSH2 0xA84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA90 DUP2 PUSH2 0x93C JUMP JUMPDEST DUP2 EQ PUSH2 0xA9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 EXP PUSH13 0x381FB9BEBF8030FC182C08514 RETURNDATASIZE DUP2 PUSH5 0x5CC76BFBAD CALLDATASIZE 0xBE RETURNDATACOPY 0x28 0xEA SELFBALANCE 0xDF CALLER PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "129:1150:3:-:0;;;358:51;;;;;;;;;;391:10;383:5;;:18;;;;;;;;;;;;;;;;;;129:1150;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_644": {
"entryPoint": null,
"id": 644,
"parameterSlots": 0,
"returnSlots": 0
},
"@balance_605": {
"entryPoint": 1291,
"id": 605,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_603": {
"entryPoint": 698,
"id": 603,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferERC20_734": {
"entryPoint": 734,
"id": 734,
"parameterSlots": 3,
"returnSlots": 0
},
"@withdraw_684": {
"entryPoint": 328,
"id": 684,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1297,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 1318,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1339,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_contract$_IERC20_$77": {
"entryPoint": 1360,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1381,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 1402,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1423,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256": {
"entryPoint": 1468,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 1551,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_address_payable": {
"entryPoint": 1596,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_address_payable_to_t_address_fromStack": {
"entryPoint": 1660,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1675,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1690,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1725,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1760,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1795,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1810,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1837,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1892,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1947,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1988,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2020,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2084,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2111,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2128,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2214,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2266,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 2284,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2302,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_contract$_IERC20_$77": {
"entryPoint": 2314,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2332,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2364,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_address_payable_to_t_address": {
"entryPoint": 2374,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 2392,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 2410,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 2428,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2475,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0": {
"entryPoint": 2480,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d": {
"entryPoint": 2521,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547": {
"entryPoint": 2562,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2603,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 2626,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 2649,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_contract$_IERC20_$77": {
"entryPoint": 2672,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2695,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10701:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:4"
},
"nodeType": "YulFunctionCall",
"src": "78:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:4"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:4"
},
"nodeType": "YulFunctionCall",
"src": "107:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:4"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:4",
"type": ""
}
],
"src": "7:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:4"
},
"nodeType": "YulFunctionCall",
"src": "231:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:4"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:4"
},
"nodeType": "YulFunctionCall",
"src": "260:41:4"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:4"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:4",
"type": ""
}
],
"src": "152:155:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "373:77:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "383:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "398:6:4"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "392:5:4"
},
"nodeType": "YulFunctionCall",
"src": "392:13:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "383:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "438:5:4"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "414:23:4"
},
"nodeType": "YulFunctionCall",
"src": "414:30:4"
},
"nodeType": "YulExpressionStatement",
"src": "414:30:4"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "351:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "359:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "367:5:4",
"type": ""
}
],
"src": "313:137:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "521:100:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "531:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "553:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "540:12:4"
},
"nodeType": "YulFunctionCall",
"src": "540:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "531:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "609:5:4"
}
],
"functionName": {
"name": "validator_revert_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "569:39:4"
},
"nodeType": "YulFunctionCall",
"src": "569:46:4"
},
"nodeType": "YulExpressionStatement",
"src": "569:46:4"
}
]
},
"name": "abi_decode_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "499:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "507:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "515:5:4",
"type": ""
}
],
"src": "456:165:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "679:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "689:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "711:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "698:12:4"
},
"nodeType": "YulFunctionCall",
"src": "698:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "689:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "754:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "727:26:4"
},
"nodeType": "YulFunctionCall",
"src": "727:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "727:33:4"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "657:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "665:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "673:5:4",
"type": ""
}
],
"src": "627:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "835:80:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "845:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "860:6:4"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "854:5:4"
},
"nodeType": "YulFunctionCall",
"src": "854:13:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "845:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "903:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "876:26:4"
},
"nodeType": "YulFunctionCall",
"src": "876:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "876:33:4"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "813:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "821:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "829:5:4",
"type": ""
}
],
"src": "772:143:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "995:271:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1041:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1043:77:4"
},
"nodeType": "YulFunctionCall",
"src": "1043:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1043:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1016:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1025:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1012:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1012:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1037:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1008:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1008:32:4"
},
"nodeType": "YulIf",
"src": "1005:119:4"
},
{
"nodeType": "YulBlock",
"src": "1134:125:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1149:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1163:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1153:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1178:71:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1221:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1232:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1217:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1217:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1241:7:4"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "1188:28:4"
},
"nodeType": "YulFunctionCall",
"src": "1188:61:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1178:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "965:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "976:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "988:6:4",
"type": ""
}
],
"src": "921:345:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1385:532:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1431:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1433:77:4"
},
"nodeType": "YulFunctionCall",
"src": "1433:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1433:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1406:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1415:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1402:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1402:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1427:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1398:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1398:32:4"
},
"nodeType": "YulIf",
"src": "1395:119:4"
},
{
"nodeType": "YulBlock",
"src": "1524:130:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1539:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1553:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1543:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1568:76:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1616:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1627:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1612:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1612:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1636:7:4"
}
],
"functionName": {
"name": "abi_decode_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "1578:33:4"
},
"nodeType": "YulFunctionCall",
"src": "1578:66:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1568:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1664:118:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1679:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1693:2:4",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1683:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1709:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1744:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1755:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1740:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1740:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1764:7:4"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1719:20:4"
},
"nodeType": "YulFunctionCall",
"src": "1719:53:4"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1709:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1792:118:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1807:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1821:2:4",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1811:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1837:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1872:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1883:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1868:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1868:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1892:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1847:20:4"
},
"nodeType": "YulFunctionCall",
"src": "1847:53:4"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1837:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1339:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1350:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1362:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1370:6:4",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1378:6:4",
"type": ""
}
],
"src": "1272:645:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2000:274:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2046:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2048:77:4"
},
"nodeType": "YulFunctionCall",
"src": "2048:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "2048:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2021:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2030:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2017:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2017:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2042:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2013:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2013:32:4"
},
"nodeType": "YulIf",
"src": "2010:119:4"
},
{
"nodeType": "YulBlock",
"src": "2139:128:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2154:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2168:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2158:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2183:74:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2229:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2240:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2225:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2225:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2249:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "2193:31:4"
},
"nodeType": "YulFunctionCall",
"src": "2193:64:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2183:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1970:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1981:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1993:6:4",
"type": ""
}
],
"src": "1923:351:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2371:399:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2417:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2419:77:4"
},
"nodeType": "YulFunctionCall",
"src": "2419:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "2419:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2392:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2401:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2388:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2388:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2413:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2384:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2384:32:4"
},
"nodeType": "YulIf",
"src": "2381:119:4"
},
{
"nodeType": "YulBlock",
"src": "2510:117:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2525:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2539:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2529:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2554:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2589:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2600:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2585:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2585:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2609:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2564:20:4"
},
"nodeType": "YulFunctionCall",
"src": "2564:53:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2554:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2637:126:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2652:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2666:2:4",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2656:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2682:71:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2725:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2736:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2721:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2721:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2745:7:4"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "2692:28:4"
},
"nodeType": "YulFunctionCall",
"src": "2692:61:4"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2682:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2333:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2344:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2356:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2364:6:4",
"type": ""
}
],
"src": "2280:490:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2849:74:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2866:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2910:5:4"
}
],
"functionName": {
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulIdentifier",
"src": "2871:38:4"
},
"nodeType": "YulFunctionCall",
"src": "2871:45:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2859:6:4"
},
"nodeType": "YulFunctionCall",
"src": "2859:58:4"
},
"nodeType": "YulExpressionStatement",
"src": "2859:58:4"
}
]
},
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2837:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2844:3:4",
"type": ""
}
],
"src": "2776:147:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2994:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3011:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3034:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3016:17:4"
},
"nodeType": "YulFunctionCall",
"src": "3016:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3004:6:4"
},
"nodeType": "YulFunctionCall",
"src": "3004:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "3004:37:4"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2982:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2989:3:4",
"type": ""
}
],
"src": "2929:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3199:220:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3209:74:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3275:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3280:2:4",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3216:58:4"
},
"nodeType": "YulFunctionCall",
"src": "3216:67:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3209:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3381:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0",
"nodeType": "YulIdentifier",
"src": "3292:88:4"
},
"nodeType": "YulFunctionCall",
"src": "3292:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "3292:93:4"
},
{
"nodeType": "YulAssignment",
"src": "3394:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3405:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3410:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3401:3:4"
},
"nodeType": "YulFunctionCall",
"src": "3401:12:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3394:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3187:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3195:3:4",
"type": ""
}
],
"src": "3053:366:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3571:220:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3581:74:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3647:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3652:2:4",
"type": "",
"value": "18"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3588:58:4"
},
"nodeType": "YulFunctionCall",
"src": "3588:67:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3581:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3753:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d",
"nodeType": "YulIdentifier",
"src": "3664:88:4"
},
"nodeType": "YulFunctionCall",
"src": "3664:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "3664:93:4"
},
{
"nodeType": "YulAssignment",
"src": "3766:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3777:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3782:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3773:3:4"
},
"nodeType": "YulFunctionCall",
"src": "3773:12:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3766:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3559:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3567:3:4",
"type": ""
}
],
"src": "3425:366:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3943:220:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3953:74:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4019:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4024:2:4",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3960:58:4"
},
"nodeType": "YulFunctionCall",
"src": "3960:67:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3953:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4125:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547",
"nodeType": "YulIdentifier",
"src": "4036:88:4"
},
"nodeType": "YulFunctionCall",
"src": "4036:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "4036:93:4"
},
{
"nodeType": "YulAssignment",
"src": "4138:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4149:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4154:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4145:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4145:12:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4138:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3931:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3939:3:4",
"type": ""
}
],
"src": "3797:366:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4234:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4251:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4274:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4256:17:4"
},
"nodeType": "YulFunctionCall",
"src": "4256:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4244:6:4"
},
"nodeType": "YulFunctionCall",
"src": "4244:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "4244:37:4"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4222:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4229:3:4",
"type": ""
}
],
"src": "4169:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4391:124:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4401:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4413:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4424:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4409:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4409:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4401:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4481:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4494:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4505:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4490:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4490:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4437:43:4"
},
"nodeType": "YulFunctionCall",
"src": "4437:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "4437:71:4"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4363:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4375:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4386:4:4",
"type": ""
}
],
"src": "4293:222:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4683:296:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4693:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4705:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4716:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4701:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4701:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4693:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4773:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4786:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4797:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4782:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4782:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4729:43:4"
},
"nodeType": "YulFunctionCall",
"src": "4729:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "4729:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4862:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4875:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4886:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4871:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4871:18:4"
}
],
"functionName": {
"name": "abi_encode_t_address_payable_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4810:51:4"
},
"nodeType": "YulFunctionCall",
"src": "4810:80:4"
},
"nodeType": "YulExpressionStatement",
"src": "4810:80:4"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4944:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4957:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4968:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4953:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4953:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4900:43:4"
},
"nodeType": "YulFunctionCall",
"src": "4900:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "4900:72:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4639:9:4",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4651:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4659:6:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4667:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4678:4:4",
"type": ""
}
],
"src": "4521:458:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5139:288:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5149:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5161:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5172:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5157:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5157:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5149:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5229:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5242:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5253:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5238:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5238:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5185:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5185:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "5185:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5310:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5323:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5334:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5319:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5319:18:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5266:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5266:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5266:72:4"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5392:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5405:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5416:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5401:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5401:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5348:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5348:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5348:72:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5095:9:4",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5107:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5115:6:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5123:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5134:4:4",
"type": ""
}
],
"src": "4985:442:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5559:206:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5569:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5581:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5592:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5577:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5577:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5569:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5649:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5662:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5673:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5658:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5658:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5605:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5605:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "5605:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5730:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5743:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5754:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5739:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5739:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5686:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5686:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5686:72:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5523:9:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5535:6:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5543:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5554:4:4",
"type": ""
}
],
"src": "5433:332:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5942:248:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5952:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5964:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5975:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5960:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5960:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5952:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5999:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6010:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5995:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5995:17:4"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6018:4:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6024:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6014:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6014:20:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5988:6:4"
},
"nodeType": "YulFunctionCall",
"src": "5988:47:4"
},
"nodeType": "YulExpressionStatement",
"src": "5988:47:4"
},
{
"nodeType": "YulAssignment",
"src": "6044:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6178:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6052:124:4"
},
"nodeType": "YulFunctionCall",
"src": "6052:131:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6044:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5922:9:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5937:4:4",
"type": ""
}
],
"src": "5771:419:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6367:248:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6377:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6389:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6400:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6385:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6385:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6377:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6424:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6435:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6420:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6420:17:4"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6443:4:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6449:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6439:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6439:20:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6413:6:4"
},
"nodeType": "YulFunctionCall",
"src": "6413:47:4"
},
"nodeType": "YulExpressionStatement",
"src": "6413:47:4"
},
{
"nodeType": "YulAssignment",
"src": "6469:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6603:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6477:124:4"
},
"nodeType": "YulFunctionCall",
"src": "6477:131:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6469:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6347:9:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6362:4:4",
"type": ""
}
],
"src": "6196:419:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6792:248:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6802:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6814:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6825:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6810:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6810:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6802:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6849:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6860:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6845:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6845:17:4"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6868:4:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6874:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6864:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6864:20:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6838:6:4"
},
"nodeType": "YulFunctionCall",
"src": "6838:47:4"
},
"nodeType": "YulExpressionStatement",
"src": "6838:47:4"
},
{
"nodeType": "YulAssignment",
"src": "6894:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7028:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6902:124:4"
},
"nodeType": "YulFunctionCall",
"src": "6902:131:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6894:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6772:9:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6787:4:4",
"type": ""
}
],
"src": "6621:419:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7144:124:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7154:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7166:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7177:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7162:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7162:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7154:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7234:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7247:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7258:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7243:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7243:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "7190:43:4"
},
"nodeType": "YulFunctionCall",
"src": "7190:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "7190:71:4"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7116:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7128:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7139:4:4",
"type": ""
}
],
"src": "7046:222:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7314:35:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7324:19:4",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7340:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7334:5:4"
},
"nodeType": "YulFunctionCall",
"src": "7334:9:4"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7324:6:4"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7307:6:4",
"type": ""
}
],
"src": "7274:75:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7451:73:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7468:3:4"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7473:6:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7461:6:4"
},
"nodeType": "YulFunctionCall",
"src": "7461:19:4"
},
"nodeType": "YulExpressionStatement",
"src": "7461:19:4"
},
{
"nodeType": "YulAssignment",
"src": "7489:29:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7508:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7513:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7504:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7504:14:4"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "7489:11:4"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7423:3:4",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7428:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "7439:11:4",
"type": ""
}
],
"src": "7355:169:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7574:261:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7584:25:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7607:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7589:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7589:20:4"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7584:1:4"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7618:25:4",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7641:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7623:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7623:20:4"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7618:1:4"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7781:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "7783:16:4"
},
"nodeType": "YulFunctionCall",
"src": "7783:18:4"
},
"nodeType": "YulExpressionStatement",
"src": "7783:18:4"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7702:1:4"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7709:66:4",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7777:1:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7705:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7705:74:4"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7699:2:4"
},
"nodeType": "YulFunctionCall",
"src": "7699:81:4"
},
"nodeType": "YulIf",
"src": "7696:107:4"
},
{
"nodeType": "YulAssignment",
"src": "7813:16:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7824:1:4"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7827:1:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7820:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7820:9:4"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "7813:3:4"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "7561:1:4",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "7564:1:4",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "7570:3:4",
"type": ""
}
],
"src": "7530:305:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7886:146:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7896:25:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7919:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7901:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7901:20:4"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7896:1:4"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7930:25:4",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7953:1:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7935:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7935:20:4"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7930:1:4"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7977:22:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "7979:16:4"
},
"nodeType": "YulFunctionCall",
"src": "7979:18:4"
},
"nodeType": "YulExpressionStatement",
"src": "7979:18:4"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "7971:1:4"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "7974:1:4"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7968:2:4"
},
"nodeType": "YulFunctionCall",
"src": "7968:8:4"
},
"nodeType": "YulIf",
"src": "7965:34:4"
},
{
"nodeType": "YulAssignment",
"src": "8009:17:4",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8021:1:4"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8024:1:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8017:3:4"
},
"nodeType": "YulFunctionCall",
"src": "8017:9:4"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "8009:4:4"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "7872:1:4",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "7875:1:4",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "7881:4:4",
"type": ""
}
],
"src": "7841:191:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8083:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8093:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8122:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "8104:17:4"
},
"nodeType": "YulFunctionCall",
"src": "8104:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8093:7:4"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8065:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8075:7:4",
"type": ""
}
],
"src": "8038:96:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8193:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8203:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8232:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "8214:17:4"
},
"nodeType": "YulFunctionCall",
"src": "8214:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8203:7:4"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8175:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8185:7:4",
"type": ""
}
],
"src": "8140:104:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8292:48:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8302:32:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8327:5:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8320:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8320:13:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8313:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8313:21:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8302:7:4"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8274:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8284:7:4",
"type": ""
}
],
"src": "8250:90:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8404:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8414:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8443:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "8425:17:4"
},
"nodeType": "YulFunctionCall",
"src": "8425:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8414:7:4"
}
]
}
]
},
"name": "cleanup_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8386:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8396:7:4",
"type": ""
}
],
"src": "8346:109:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8506:81:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8516:65:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8531:5:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8538:42:4",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8527:3:4"
},
"nodeType": "YulFunctionCall",
"src": "8527:54:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8516:7:4"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8488:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8498:7:4",
"type": ""
}
],
"src": "8461:126:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8638:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8648:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "8659:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8648:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8620:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8630:7:4",
"type": ""
}
],
"src": "8593:77:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8744:66:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8754:50:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8798:5:4"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "8767:30:4"
},
"nodeType": "YulFunctionCall",
"src": "8767:37:4"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8754:9:4"
}
]
}
]
},
"name": "convert_t_address_payable_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8724:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8734:9:4",
"type": ""
}
],
"src": "8676:134:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8876:66:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8886:50:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8930:5:4"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "8899:30:4"
},
"nodeType": "YulFunctionCall",
"src": "8899:37:4"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "8886:9:4"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8856:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8866:9:4",
"type": ""
}
],
"src": "8816:126:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9008:53:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9018:37:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9049:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "9031:17:4"
},
"nodeType": "YulFunctionCall",
"src": "9031:24:4"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "9018:9:4"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8988:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "8998:9:4",
"type": ""
}
],
"src": "8948:113:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9095:152:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9112:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9115:77:4",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9105:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9105:88:4"
},
"nodeType": "YulExpressionStatement",
"src": "9105:88:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9209:1:4",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9212:4:4",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9202:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9202:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "9202:15:4"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9233:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9236:4:4",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9226:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9226:15:4"
},
"nodeType": "YulExpressionStatement",
"src": "9226:15:4"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "9067:180:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9342:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9359:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9362:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9352:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9352:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "9352:12:4"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "9253:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9465:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9482:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9485:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9475:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9475:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "9475:12:4"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "9376:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9605:73:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9627:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9635:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9623:3:4"
},
"nodeType": "YulFunctionCall",
"src": "9623:14:4"
},
{
"hexValue": "4f6e6c79206f776e65722063616e2077697468647261772066756e6473",
"kind": "string",
"nodeType": "YulLiteral",
"src": "9639:31:4",
"type": "",
"value": "Only owner can withdraw funds"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9616:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9616:55:4"
},
"nodeType": "YulExpressionStatement",
"src": "9616:55:4"
}
]
},
"name": "store_literal_in_memory_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9597:6:4",
"type": ""
}
],
"src": "9499:179:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9790:62:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9812:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9820:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9808:3:4"
},
"nodeType": "YulFunctionCall",
"src": "9808:14:4"
},
{
"hexValue": "496e73756666696369656e742066756e6473",
"kind": "string",
"nodeType": "YulLiteral",
"src": "9824:20:4",
"type": "",
"value": "Insufficient funds"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9801:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9801:44:4"
},
"nodeType": "YulExpressionStatement",
"src": "9801:44:4"
}
]
},
"name": "store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9782:6:4",
"type": ""
}
],
"src": "9684:168:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9964:58:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9986:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9994:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9982:3:4"
},
"nodeType": "YulFunctionCall",
"src": "9982:14:4"
},
{
"hexValue": "62616c616e6365206973206c6f77",
"kind": "string",
"nodeType": "YulLiteral",
"src": "9998:16:4",
"type": "",
"value": "balance is low"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9975:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9975:40:4"
},
"nodeType": "YulExpressionStatement",
"src": "9975:40:4"
}
]
},
"name": "store_literal_in_memory_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9956:6:4",
"type": ""
}
],
"src": "9858:164:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10071:79:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10128:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10137:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10140:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10130:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10130:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "10130:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10094:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10119:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "10101:17:4"
},
"nodeType": "YulFunctionCall",
"src": "10101:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10091:2:4"
},
"nodeType": "YulFunctionCall",
"src": "10091:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10084:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10084:43:4"
},
"nodeType": "YulIf",
"src": "10081:63:4"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10064:5:4",
"type": ""
}
],
"src": "10028:122:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10207:87:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10272:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10281:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10284:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10274:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10274:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "10274:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10230:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10263:5:4"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "10237:25:4"
},
"nodeType": "YulFunctionCall",
"src": "10237:32:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10227:2:4"
},
"nodeType": "YulFunctionCall",
"src": "10227:43:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10220:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10220:51:4"
},
"nodeType": "YulIf",
"src": "10217:71:4"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10200:5:4",
"type": ""
}
],
"src": "10156:138:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10340:76:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10394:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10403:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10406:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10396:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10396:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "10396:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10363:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10385:5:4"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "10370:14:4"
},
"nodeType": "YulFunctionCall",
"src": "10370:21:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10360:2:4"
},
"nodeType": "YulFunctionCall",
"src": "10360:32:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10353:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10353:40:4"
},
"nodeType": "YulIf",
"src": "10350:60:4"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10333:5:4",
"type": ""
}
],
"src": "10300:116:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10478:92:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10548:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10557:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10560:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10550:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10550:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "10550:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10501:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10539:5:4"
}
],
"functionName": {
"name": "cleanup_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "10508:30:4"
},
"nodeType": "YulFunctionCall",
"src": "10508:37:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10498:2:4"
},
"nodeType": "YulFunctionCall",
"src": "10498:48:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10491:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10491:56:4"
},
"nodeType": "YulIf",
"src": "10488:76:4"
}
]
},
"name": "validator_revert_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10471:5:4",
"type": ""
}
],
"src": "10422:148:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10619:79:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10676:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10685:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10688:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10678:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10678:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "10678:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10642:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10667:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "10649:17:4"
},
"nodeType": "YulFunctionCall",
"src": "10649:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "10639:2:4"
},
"nodeType": "YulFunctionCall",
"src": "10639:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10632:6:4"
},
"nodeType": "YulFunctionCall",
"src": "10632:43:4"
},
"nodeType": "YulIf",
"src": "10629:63:4"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10612:5:4",
"type": ""
}
],
"src": "10576:122:4"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\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_t_contract$_IERC20_$77(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_contract$_IERC20_$77(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(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 abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_IERC20_$77(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_address_payable_to_t_address(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547(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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_address_payable_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_payable_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_contract$_IERC20_$77(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_address_payable_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_36b9982a87fc35dcce21cd7c9fe5259f8195356730e6a709672932073665fac0(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can withdraw funds\")\n\n }\n\n function store_literal_in_memory_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient funds\")\n\n }\n\n function store_literal_in_memory_83ffa8ddbe2c93213ff979679fadb17a4f27ced3e4ab3c77a2c9dedce8970547(memPtr) {\n\n mstore(add(memPtr, 0), \"balance is low\")\n\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 validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\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 validator_revert_t_contract$_IERC20_$77(value) {\n if iszero(eq(value, cleanup_t_contract$_IERC20_$77(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 4,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100425760003560e01c8062f714ce146100a05780638da5cb5b146100c95780639db5dbe4146100f4578063b69ef8a81461011d5761009b565b3661009b5734600160008282546100599190610850565b925050819055507ff1b03f708b9c39f453fe3f0cef84164c7d6f7df836df0796e1e9c2bce6ee397e333460405161009192919061079b565b60405180910390a1005b600080fd5b3480156100ac57600080fd5b506100c760048036038101906100c2919061063c565b610148565b005b3480156100d557600080fd5b506100de6102ba565b6040516100eb9190610712565b60405180910390f35b34801561010057600080fd5b5061011b600480360381019061011691906105bc565b6102de565b005b34801561012957600080fd5b5061013261050b565b60405161013f9190610824565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cd906107c4565b60405180910390fd5b60015482111561021b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610212906107e4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610261573d6000803e3d6000fd5b50816001600082825461027491906108a6565b925050819055507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e3382846040516102ae9392919061072d565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461036c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610363906107c4565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103a79190610712565b60206040518083038186803b1580156103bf57600080fd5b505afa1580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f7919061060f565b90508082111561043c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043390610804565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161047792919061079b565b602060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c9919061058f565b507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e3384846040516104fd93929190610764565b60405180910390a150505050565b60015481565b60008135905061052081610a2b565b92915050565b60008135905061053581610a42565b92915050565b60008151905061054a81610a59565b92915050565b60008135905061055f81610a70565b92915050565b60008135905061057481610a87565b92915050565b60008151905061058981610a87565b92915050565b6000602082840312156105a5576105a46109ab565b5b60006105b38482850161053b565b91505092915050565b6000806000606084860312156105d5576105d46109ab565b5b60006105e386828701610550565b93505060206105f486828701610511565b925050604061060586828701610565565b9150509250925092565b600060208284031215610625576106246109ab565b5b60006106338482850161057a565b91505092915050565b60008060408385031215610653576106526109ab565b5b600061066185828601610565565b925050602061067285828601610526565b9150509250929050565b61068581610946565b82525050565b610694816108da565b82525050565b60006106a7601d8361083f565b91506106b2826109b0565b602082019050919050565b60006106ca60128361083f565b91506106d5826109d9565b602082019050919050565b60006106ed600e8361083f565b91506106f882610a02565b602082019050919050565b61070c8161093c565b82525050565b6000602082019050610727600083018461068b565b92915050565b6000606082019050610742600083018661068b565b61074f602083018561067c565b61075c6040830184610703565b949350505050565b6000606082019050610779600083018661068b565b610786602083018561068b565b6107936040830184610703565b949350505050565b60006040820190506107b0600083018561068b565b6107bd6020830184610703565b9392505050565b600060208201905081810360008301526107dd8161069a565b9050919050565b600060208201905081810360008301526107fd816106bd565b9050919050565b6000602082019050818103600083015261081d816106e0565b9050919050565b60006020820190506108396000830184610703565b92915050565b600082825260208201905092915050565b600061085b8261093c565b91506108668361093c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561089b5761089a61097c565b5b828201905092915050565b60006108b18261093c565b91506108bc8361093c565b9250828210156108cf576108ce61097c565b5b828203905092915050565b60006108e58261091c565b9050919050565b60006108f78261091c565b9050919050565b60008115159050919050565b6000610915826108da565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061095182610958565b9050919050565b60006109638261096a565b9050919050565b60006109758261091c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600080fd5b7f4f6e6c79206f776e65722063616e2077697468647261772066756e6473000000600082015250565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b7f62616c616e6365206973206c6f77000000000000000000000000000000000000600082015250565b610a34816108da565b8114610a3f57600080fd5b50565b610a4b816108ec565b8114610a5657600080fd5b50565b610a62816108fe565b8114610a6d57600080fd5b50565b610a798161090a565b8114610a8457600080fd5b50565b610a908161093c565b8114610a9b57600080fd5b5056fea2646970667358221220f90a6c0381fb9bebf8030fc182c085143d81645cc76bfbad36be3e28ea47df3364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x42 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0x9DB5DBE4 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0x11D JUMPI PUSH2 0x9B JUMP JUMPDEST CALLDATASIZE PUSH2 0x9B JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x59 SWAP2 SWAP1 PUSH2 0x850 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xF1B03F708B9C39F453FE3F0CEF84164C7D6F7DF836DF0796E1E9C2BCE6EE397E CALLER CALLVALUE PUSH1 0x40 MLOAD PUSH2 0x91 SWAP3 SWAP2 SWAP1 PUSH2 0x79B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x63C JUMP JUMPDEST PUSH2 0x148 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDE PUSH2 0x2BA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEB SWAP2 SWAP1 PUSH2 0x712 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x116 SWAP2 SWAP1 PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x2DE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x50B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x824 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1D6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CD SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x21B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x212 SWAP1 PUSH2 0x7E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x261 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x2AE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x36C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x363 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP2 SWAP1 PUSH2 0x712 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3D3 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 0x3F7 SWAP2 SWAP1 PUSH2 0x60F JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x43C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x433 SWAP1 PUSH2 0x804 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x477 SWAP3 SWAP2 SWAP1 PUSH2 0x79B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4A5 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 0x4C9 SWAP2 SWAP1 PUSH2 0x58F JUMP JUMPDEST POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4FD SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x520 DUP2 PUSH2 0xA2B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x535 DUP2 PUSH2 0xA42 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x54A DUP2 PUSH2 0xA59 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x55F DUP2 PUSH2 0xA70 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x574 DUP2 PUSH2 0xA87 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x589 DUP2 PUSH2 0xA87 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5A5 JUMPI PUSH2 0x5A4 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5B3 DUP5 DUP3 DUP6 ADD PUSH2 0x53B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5D5 JUMPI PUSH2 0x5D4 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5E3 DUP7 DUP3 DUP8 ADD PUSH2 0x550 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x5F4 DUP7 DUP3 DUP8 ADD PUSH2 0x511 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x605 DUP7 DUP3 DUP8 ADD PUSH2 0x565 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x625 JUMPI PUSH2 0x624 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x633 DUP5 DUP3 DUP6 ADD PUSH2 0x57A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x653 JUMPI PUSH2 0x652 PUSH2 0x9AB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x661 DUP6 DUP3 DUP7 ADD PUSH2 0x565 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x672 DUP6 DUP3 DUP7 ADD PUSH2 0x526 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x685 DUP2 PUSH2 0x946 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x694 DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6A7 PUSH1 0x1D DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6B2 DUP3 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6CA PUSH1 0x12 DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6D5 DUP3 PUSH2 0x9D9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6ED PUSH1 0xE DUP4 PUSH2 0x83F JUMP JUMPDEST SWAP2 POP PUSH2 0x6F8 DUP3 PUSH2 0xA02 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x70C DUP2 PUSH2 0x93C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x727 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x68B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x742 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x74F PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x67C JUMP JUMPDEST PUSH2 0x75C PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x779 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x786 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x793 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x7B0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x68B JUMP JUMPDEST PUSH2 0x7BD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7DD DUP2 PUSH2 0x69A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7FD DUP2 PUSH2 0x6BD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x81D DUP2 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x839 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x703 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85B DUP3 PUSH2 0x93C JUMP JUMPDEST SWAP2 POP PUSH2 0x866 DUP4 PUSH2 0x93C JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x89B JUMPI PUSH2 0x89A PUSH2 0x97C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B1 DUP3 PUSH2 0x93C JUMP JUMPDEST SWAP2 POP PUSH2 0x8BC DUP4 PUSH2 0x93C JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x8CF JUMPI PUSH2 0x8CE PUSH2 0x97C JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E5 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8F7 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x915 DUP3 PUSH2 0x8DA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x951 DUP3 PUSH2 0x958 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x963 DUP3 PUSH2 0x96A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x975 DUP3 PUSH2 0x91C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2077697468647261772066756E6473000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742066756E64730000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x62616C616E6365206973206C6F77000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA34 DUP2 PUSH2 0x8DA JUMP JUMPDEST DUP2 EQ PUSH2 0xA3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA4B DUP2 PUSH2 0x8EC JUMP JUMPDEST DUP2 EQ PUSH2 0xA56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA62 DUP2 PUSH2 0x8FE JUMP JUMPDEST DUP2 EQ PUSH2 0xA6D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA79 DUP2 PUSH2 0x90A JUMP JUMPDEST DUP2 EQ PUSH2 0xA84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA90 DUP2 PUSH2 0x93C JUMP JUMPDEST DUP2 EQ PUSH2 0xA9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 EXP PUSH13 0x381FB9BEBF8030FC182C08514 RETURNDATASIZE DUP2 PUSH5 0x5CC76BFBAD CALLDATASIZE 0xBE RETURNDATACOPY 0x28 0xEA SELFBALANCE 0xDF CALLER PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "129:1150:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;470:9;459:7;;:20;;;;;;;:::i;:::-;;;;;;;;495:39;512:10;524:9;495:39;;;;;;;:::i;:::-;;;;;;;;129:1150;;;;;558:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;159:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;906:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;186:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;558:336;655:5;;;;;;;;;;641:19;;:10;:19;;;633:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;724:7;;714:6;:17;;706:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;775:8;:17;;:25;793:6;775:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:6;811:7;;:17;;;;;;;:::i;:::-;;;;;;;;844:42;857:10;869:8;879:6;844:42;;;;;;;;:::i;:::-;;;;;;;;558:336;;:::o;159:20::-;;;;;;;;;;;;:::o;906:370::-;1011:5;;;;;;;;;;997:19;;:10;:19;;;989:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;1062:20;1085:5;:15;;;1109:4;1085:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1062:53;;1144:12;1134:6;:22;;1126:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;1186:5;:14;;;1201:2;1205:6;1186:26;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1228:36;1241:10;1253:2;1257:6;1228:36;;;;;;;;:::i;:::-;;;;;;;;978:298;906:370;;;:::o;186:22::-;;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:137::-;367:5;398:6;392:13;383:22;;414:30;438:5;414:30;:::i;:::-;313:137;;;;:::o;456:165::-;515:5;553:6;540:20;531:29;;569:46;609:5;569:46;:::i;:::-;456:165;;;;:::o;627:139::-;673:5;711:6;698:20;689:29;;727:33;754:5;727:33;:::i;:::-;627:139;;;;:::o;772:143::-;829:5;860:6;854:13;845:22;;876:33;903:5;876:33;:::i;:::-;772:143;;;;:::o;921:345::-;988:6;1037:2;1025:9;1016:7;1012:23;1008:32;1005:119;;;1043:79;;:::i;:::-;1005:119;1163:1;1188:61;1241:7;1232:6;1221:9;1217:22;1188:61;:::i;:::-;1178:71;;1134:125;921:345;;;;:::o;1272:645::-;1362:6;1370;1378;1427:2;1415:9;1406:7;1402:23;1398:32;1395:119;;;1433:79;;:::i;:::-;1395:119;1553:1;1578:66;1636:7;1627:6;1616:9;1612:22;1578:66;:::i;:::-;1568:76;;1524:130;1693:2;1719:53;1764:7;1755:6;1744:9;1740:22;1719:53;:::i;:::-;1709:63;;1664:118;1821:2;1847:53;1892:7;1883:6;1872:9;1868:22;1847:53;:::i;:::-;1837:63;;1792:118;1272:645;;;;;:::o;1923:351::-;1993:6;2042:2;2030:9;2021:7;2017:23;2013:32;2010:119;;;2048:79;;:::i;:::-;2010:119;2168:1;2193:64;2249:7;2240:6;2229:9;2225:22;2193:64;:::i;:::-;2183:74;;2139:128;1923:351;;;;:::o;2280:490::-;2356:6;2364;2413:2;2401:9;2392:7;2388:23;2384:32;2381:119;;;2419:79;;:::i;:::-;2381:119;2539:1;2564:53;2609:7;2600:6;2589:9;2585:22;2564:53;:::i;:::-;2554:63;;2510:117;2666:2;2692:61;2745:7;2736:6;2725:9;2721:22;2692:61;:::i;:::-;2682:71;;2637:126;2280:490;;;;;:::o;2776:147::-;2871:45;2910:5;2871:45;:::i;:::-;2866:3;2859:58;2776:147;;:::o;2929:118::-;3016:24;3034:5;3016:24;:::i;:::-;3011:3;3004:37;2929:118;;:::o;3053:366::-;3195:3;3216:67;3280:2;3275:3;3216:67;:::i;:::-;3209:74;;3292:93;3381:3;3292:93;:::i;:::-;3410:2;3405:3;3401:12;3394:19;;3053:366;;;:::o;3425:::-;3567:3;3588:67;3652:2;3647:3;3588:67;:::i;:::-;3581:74;;3664:93;3753:3;3664:93;:::i;:::-;3782:2;3777:3;3773:12;3766:19;;3425:366;;;:::o;3797:::-;3939:3;3960:67;4024:2;4019:3;3960:67;:::i;:::-;3953:74;;4036:93;4125:3;4036:93;:::i;:::-;4154:2;4149:3;4145:12;4138:19;;3797:366;;;:::o;4169:118::-;4256:24;4274:5;4256:24;:::i;:::-;4251:3;4244:37;4169:118;;:::o;4293:222::-;4386:4;4424:2;4413:9;4409:18;4401:26;;4437:71;4505:1;4494:9;4490:17;4481:6;4437:71;:::i;:::-;4293:222;;;;:::o;4521:458::-;4678:4;4716:2;4705:9;4701:18;4693:26;;4729:71;4797:1;4786:9;4782:17;4773:6;4729:71;:::i;:::-;4810:80;4886:2;4875:9;4871:18;4862:6;4810:80;:::i;:::-;4900:72;4968:2;4957:9;4953:18;4944:6;4900:72;:::i;:::-;4521:458;;;;;;:::o;4985:442::-;5134:4;5172:2;5161:9;5157:18;5149:26;;5185:71;5253:1;5242:9;5238:17;5229:6;5185:71;:::i;:::-;5266:72;5334:2;5323:9;5319:18;5310:6;5266:72;:::i;:::-;5348;5416:2;5405:9;5401:18;5392:6;5348:72;:::i;:::-;4985:442;;;;;;:::o;5433:332::-;5554:4;5592:2;5581:9;5577:18;5569:26;;5605:71;5673:1;5662:9;5658:17;5649:6;5605:71;:::i;:::-;5686:72;5754:2;5743:9;5739:18;5730:6;5686:72;:::i;:::-;5433:332;;;;;:::o;5771:419::-;5937:4;5975:2;5964:9;5960:18;5952:26;;6024:9;6018:4;6014:20;6010:1;5999:9;5995:17;5988:47;6052:131;6178:4;6052:131;:::i;:::-;6044:139;;5771:419;;;:::o;6196:::-;6362:4;6400:2;6389:9;6385:18;6377:26;;6449:9;6443:4;6439:20;6435:1;6424:9;6420:17;6413:47;6477:131;6603:4;6477:131;:::i;:::-;6469:139;;6196:419;;;:::o;6621:::-;6787:4;6825:2;6814:9;6810:18;6802:26;;6874:9;6868:4;6864:20;6860:1;6849:9;6845:17;6838:47;6902:131;7028:4;6902:131;:::i;:::-;6894:139;;6621:419;;;:::o;7046:222::-;7139:4;7177:2;7166:9;7162:18;7154:26;;7190:71;7258:1;7247:9;7243:17;7234:6;7190:71;:::i;:::-;7046:222;;;;:::o;7355:169::-;7439:11;7473:6;7468:3;7461:19;7513:4;7508:3;7504:14;7489:29;;7355:169;;;;:::o;7530:305::-;7570:3;7589:20;7607:1;7589:20;:::i;:::-;7584:25;;7623:20;7641:1;7623:20;:::i;:::-;7618:25;;7777:1;7709:66;7705:74;7702:1;7699:81;7696:107;;;7783:18;;:::i;:::-;7696:107;7827:1;7824;7820:9;7813:16;;7530:305;;;;:::o;7841:191::-;7881:4;7901:20;7919:1;7901:20;:::i;:::-;7896:25;;7935:20;7953:1;7935:20;:::i;:::-;7930:25;;7974:1;7971;7968:8;7965:34;;;7979:18;;:::i;:::-;7965:34;8024:1;8021;8017:9;8009:17;;7841:191;;;;:::o;8038:96::-;8075:7;8104:24;8122:5;8104:24;:::i;:::-;8093:35;;8038:96;;;:::o;8140:104::-;8185:7;8214:24;8232:5;8214:24;:::i;:::-;8203:35;;8140:104;;;:::o;8250:90::-;8284:7;8327:5;8320:13;8313:21;8302:32;;8250:90;;;:::o;8346:109::-;8396:7;8425:24;8443:5;8425:24;:::i;:::-;8414:35;;8346:109;;;:::o;8461:126::-;8498:7;8538:42;8531:5;8527:54;8516:65;;8461:126;;;:::o;8593:77::-;8630:7;8659:5;8648:16;;8593:77;;;:::o;8676:134::-;8734:9;8767:37;8798:5;8767:37;:::i;:::-;8754:50;;8676:134;;;:::o;8816:126::-;8866:9;8899:37;8930:5;8899:37;:::i;:::-;8886:50;;8816:126;;;:::o;8948:113::-;8998:9;9031:24;9049:5;9031:24;:::i;:::-;9018:37;;8948:113;;;:::o;9067:180::-;9115:77;9112:1;9105:88;9212:4;9209:1;9202:15;9236:4;9233:1;9226:15;9376:117;9485:1;9482;9475:12;9499:179;9639:31;9635:1;9627:6;9623:14;9616:55;9499:179;:::o;9684:168::-;9824:20;9820:1;9812:6;9808:14;9801:44;9684:168;:::o;9858:164::-;9998:16;9994:1;9986:6;9982:14;9975:40;9858:164;:::o;10028:122::-;10101:24;10119:5;10101:24;:::i;:::-;10094:5;10091:35;10081:63;;10140:1;10137;10130:12;10081:63;10028:122;:::o;10156:138::-;10237:32;10263:5;10237:32;:::i;:::-;10230:5;10227:43;10217:71;;10284:1;10281;10274:12;10217:71;10156:138;:::o;10300:116::-;10370:21;10385:5;10370:21;:::i;:::-;10363:5;10360:32;10350:60;;10406:1;10403;10396:12;10350:60;10300:116;:::o;10422:148::-;10508:37;10539:5;10508:37;:::i;:::-;10501:5;10498:48;10488:76;;10560:1;10557;10550:12;10488:76;10422:148;:::o;10576:122::-;10649:24;10667:5;10649:24;:::i;:::-;10642:5;10639:35;10629:63;;10688:1;10685;10678:12;10629:63;10576:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "554400",
"executionCost": "24853",
"totalCost": "579253"
},
"external": {
"balance()": "2473",
"owner()": "2511",
"transferERC20(address,address,uint256)": "infinite",
"withdraw(uint256,address)": "infinite"
}
},
"methodIdentifiers": {
"balance()": "b69ef8a8",
"owner()": "8da5cb5b",
"transferERC20(address,address,uint256)": "9db5dbe4",
"withdraw(uint256,address)": "00f714ce"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "TransferReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_destAddr",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "TransferSent",
"type": "event"
},
{
"inputs": [],
"name": "balance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferERC20",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "destAddr",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "TransferReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_destAddr",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "TransferSent",
"type": "event"
},
{
"inputs": [],
"name": "balance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferERC20",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "destAddr",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"recieves_tokens_and_eth.sol": "FeeCollector"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0xc1452b054778f1926419196ef12ae200758a4ee728df69ae1cd13e5c16ca7df7",
"license": "MIT",
"urls": [
"bzz-raw://4cb252ec7657ba7a91be688cbd263090aa5379e504f488a62d06198e0d630322",
"dweb:/ipfs/QmW56fDiDirhWfWiKrycXE5UY6tTNtFrYx39ipnSs8mkYb"
]
},
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": {
"keccak256": "0x671741933530f343f023a40e58e61bc09d62494b96c6f3e39e647f315facd519",
"license": "MIT",
"urls": [
"bzz-raw://4082ea29d4cab3998038c2c5e37ed990e009a6d8814bbe82931173db7b6e63d5",
"dweb:/ipfs/QmaAwSn8ubftkwEYP3iU14f8VP7texzjWDXbopEEvm8LQF"
]
},
"@openzeppelin/contracts/utils/Address.sol": {
"keccak256": "0x9944d1038f27dcebff810d7ba16b3b8058b967173d76874fb72dd7cd84129656",
"license": "MIT",
"urls": [
"bzz-raw://7c455cda07c5f8978c57e545ddde382552d3a55b6e3682e0f809ed07ec7defbe",
"dweb:/ipfs/QmXkoKbxyMcMzjYdkXi5t4t3ZjBQ81pj7AaanS9jhePxyt"
]
},
"recieves_tokens_and_eth.sol": {
"keccak256": "0x5e639b01f475238a41d24b22fe8a13eee1c62fa0edc044f95f69fea963d8bab5",
"license": "MIT",
"urls": [
"bzz-raw://f372720fa6bf161b38be830ea28382b63c637a15a41770136e90182e66a1023a",
"dweb:/ipfs/QmajeQ15h82mpLd17e2bDh7xXUY8zp11vLcrHp8xy89hFJ"
]
}
},
"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
},
"görli: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": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"send_example.sol": "IERC20"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"send_example.sol": {
"keccak256": "0x6ee17288ba9b5c5f45621358909396cccd6690effe8d0beeb83377daed1b3e95",
"license": "MIT",
"urls": [
"bzz-raw://57d7e102bfb51388f6b89c58061497eb06ed90caf5b2f1655f6adda5851cebee",
"dweb:/ipfs/QmfQbvUT2UUQfgnWDazGxgtWuFavLXAMoyfHREdvkoUwCx"
]
}
},
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_34": {
"entryPoint": null,
"id": 34,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr_fromMemory": {
"entryPoint": 353,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr_fromMemory": {
"entryPoint": 428,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 479,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory": {
"entryPoint": 502,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"allocate_memory": {
"entryPoint": 604,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 635,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 645,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 699,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory": {
"entryPoint": 709,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 763,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 817,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 871,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 918,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 965,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 970,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 975,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 980,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 985,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1002,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4280:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "102:326:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "112:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "179:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "137:41:1"
},
"nodeType": "YulFunctionCall",
"src": "137:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "121:15:1"
},
"nodeType": "YulFunctionCall",
"src": "121:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "203:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "210:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "196:6:1"
},
"nodeType": "YulFunctionCall",
"src": "196:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "196:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "226:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "241:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "248:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "237:3:1"
},
"nodeType": "YulFunctionCall",
"src": "237:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "230:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "291:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "293:77:1"
},
"nodeType": "YulFunctionCall",
"src": "293:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "293:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "272:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "277:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "268:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "286:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "265:2:1"
},
"nodeType": "YulFunctionCall",
"src": "265:25:1"
},
"nodeType": "YulIf",
"src": "262:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "405:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "410:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "415:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "383:21:1"
},
"nodeType": "YulFunctionCall",
"src": "383:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "383:39:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "75:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "80:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "88:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "96:5:1",
"type": ""
}
],
"src": "7:421:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "521:282:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "570:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "572:77:1"
},
"nodeType": "YulFunctionCall",
"src": "572:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "572:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "549:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "557:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "545:3:1"
},
"nodeType": "YulFunctionCall",
"src": "545:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "564:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "541:3:1"
},
"nodeType": "YulFunctionCall",
"src": "541:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "534:6:1"
},
"nodeType": "YulFunctionCall",
"src": "534:35:1"
},
"nodeType": "YulIf",
"src": "531:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "662:27:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "682:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "676:5:1"
},
"nodeType": "YulFunctionCall",
"src": "676:13:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "666:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "698:99:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "770:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "778:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "766:3:1"
},
"nodeType": "YulFunctionCall",
"src": "766:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "785:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "793:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "707:58:1"
},
"nodeType": "YulFunctionCall",
"src": "707:90:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "698:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "499:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "507:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "515:5:1",
"type": ""
}
],
"src": "448:355:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "872:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "882:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "897:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "891:5:1"
},
"nodeType": "YulFunctionCall",
"src": "891:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "882:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "940:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "913:26:1"
},
"nodeType": "YulFunctionCall",
"src": "913:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "913:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "850:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "858:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "866:5:1",
"type": ""
}
],
"src": "809:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1062:576:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1108:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1110:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1110:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1110:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1083:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1092:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1079:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1079:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1104:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1075:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1075:32:1"
},
"nodeType": "YulIf",
"src": "1072:119:1"
},
{
"nodeType": "YulBlock",
"src": "1201:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1216:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1230:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1220:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1245:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1291:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1302:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1287:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1287:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1311:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "1255:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1255:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1245:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1339:292:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1354:39:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1378:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1374:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1374:18:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1368:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1368:25:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1358:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1440:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1442:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1442:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1442:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1412:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1420:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1409:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1409:30:1"
},
"nodeType": "YulIf",
"src": "1406:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1537:84:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1593:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1604:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1589:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1613:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr_fromMemory",
"nodeType": "YulIdentifier",
"src": "1547:41:1"
},
"nodeType": "YulFunctionCall",
"src": "1547:74:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1537:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1024:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1035:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1047:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1055:6:1",
"type": ""
}
],
"src": "958:680:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1685:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1695:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "1705:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1705:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1695:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1754:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "1762:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "1734:19:1"
},
"nodeType": "YulFunctionCall",
"src": "1734:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1734:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1669:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1678:6:1",
"type": ""
}
],
"src": "1644:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1819:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1829:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1845:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1839:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1839:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1829:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1812:6:1",
"type": ""
}
],
"src": "1779:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1927:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2032:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "2034:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2034:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2034:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2004:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2012:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2001:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2001:30:1"
},
"nodeType": "YulIf",
"src": "1998:56:1"
},
{
"nodeType": "YulAssignment",
"src": "2064:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2094:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2072:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2072:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2064:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2138:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2150:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2156:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2146:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2146:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "2138:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1911:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "1922:4:1",
"type": ""
}
],
"src": "1860:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2219:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2229:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2240:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2229:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2201:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2211:7:1",
"type": ""
}
],
"src": "2174:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2306:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2316:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2325:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2320:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2385:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2410:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2415:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2406:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2406:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "2429:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2434:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2425:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2419:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2419:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2399:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2399:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2399:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2346:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2349:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2343:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2357:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2359:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2368:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2371:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2364:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2364:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2359:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2339:3:1",
"statements": []
},
"src": "2335:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2482:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "2532:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2537:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2528:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2546:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2521:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2521:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "2521:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2463:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2466:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2460:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2460:13:1"
},
"nodeType": "YulIf",
"src": "2457:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2288:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2293:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2298:6:1",
"type": ""
}
],
"src": "2257:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2621:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2631:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2645:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2651:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "2641:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2641:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2631:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2662:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "2692:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2698:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2688:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2688:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "2666:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2739:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2753:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2767:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2775:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2763:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2753:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2719:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2712:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2712:26:1"
},
"nodeType": "YulIf",
"src": "2709:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2842:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "2856:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2856:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2856:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "2806:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2829:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2837:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2826:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2826:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2803:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2803:38:1"
},
"nodeType": "YulIf",
"src": "2800:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "2605:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2614:6:1",
"type": ""
}
],
"src": "2570:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2939:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2949:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2971:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3001:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2979:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2979:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2967:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "2953:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3118:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3120:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3120:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3120:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3061:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3073:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3058:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3097:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3109:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3094:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3094:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3055:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3055:62:1"
},
"nodeType": "YulIf",
"src": "3052:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3156:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "3160:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3149:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3149:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "3149:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2925:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "2933:4:1",
"type": ""
}
],
"src": "2896:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3211:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3228:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3231:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3221:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3221:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3221:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3325:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3328:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3318:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3318:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3318:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3349:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3352:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3342:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3342:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3342:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "3183:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3397:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3414:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3417:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3407:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3407:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "3407:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3511:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3514:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3504:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3504:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3504:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3535:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3538:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3528:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3528:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "3528:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "3369:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3644:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3661:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3664:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3654:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3654:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3654:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3555:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3767:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3784:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3787:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3777:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3777:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3777:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "3678:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3890:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3907:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3910:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3900:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3900:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3900:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "3801:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4013:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4030:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4033:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4023:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4023:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4023:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "3924:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4095:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4105:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4123:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4130:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4119:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4119:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4139:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4135:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4135:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4115:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4115:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "4105:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4078:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "4088:6:1",
"type": ""
}
],
"src": "4047:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4198:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4255:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4264:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4267:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4257:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4257:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "4257:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4221:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4246:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4228:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4228:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "4218:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4218:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4211:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4211:43:1"
},
"nodeType": "YulIf",
"src": "4208:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4191:5:1",
"type": ""
}
],
"src": "4155:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_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_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\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 function abi_decode_tuple_t_uint256t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60a06040526000600260006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405162000ad938038062000ad98339818101604052810190620000529190620001f6565b81600081905550806001908051906020019062000071929190620000b1565b503373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050505062000404565b828054620000bf90620002fb565b90600052602060002090601f016020900481019282620000e357600085556200012f565b82601f10620000fe57805160ff19168380011785556200012f565b828001600101855582156200012f579182015b828111156200012e57825182559160200191906001019062000111565b5b5090506200013e919062000142565b5090565b5b808211156200015d57600081600090555060010162000143565b5090565b600062000178620001728462000285565b6200025c565b905082815260208101848484011115620001975762000196620003ca565b5b620001a4848285620002c5565b509392505050565b600082601f830112620001c457620001c3620003c5565b5b8151620001d684826020860162000161565b91505092915050565b600081519050620001f081620003ea565b92915050565b6000806040838503121562000210576200020f620003d4565b5b60006200022085828601620001df565b925050602083015167ffffffffffffffff811115620002445762000243620003cf565b5b6200025285828601620001ac565b9150509250929050565b6000620002686200027b565b905062000276828262000331565b919050565b6000604051905090565b600067ffffffffffffffff821115620002a357620002a262000396565b5b620002ae82620003d9565b9050602081019050919050565b6000819050919050565b60005b83811015620002e5578082015181840152602081019050620002c8565b83811115620002f5576000848401525b50505050565b600060028204905060018216806200031457607f821691505b602082108114156200032b576200032a62000367565b5b50919050565b6200033c82620003d9565b810181811067ffffffffffffffff821117156200035e576200035d62000396565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620003f581620002bb565b81146200040157600080fd5b50565b60805160601c6106b66200042360003960006101d401526106b66000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806302c7e7af14610067578063516f279e14610085578063827bfbdf146100a35780638da5cb5b146100bf57806391b7f5ed146100dd57806398d5fdca146100f9575b600080fd5b61006f610117565b60405161007c919061042f565b60405180910390f35b61008d61012a565b60405161009a919061044a565b60405180910390f35b6100bd60048036038101906100b89190610338565b6101b8565b005b6100c76101d2565b6040516100d49190610414565b60405180910390f35b6100f760048036038101906100f29190610381565b6101f6565b005b610101610207565b60405161010e919061046c565b60405180910390f35b600260009054906101000a900460ff1681565b6001805461013790610583565b80601f016020809104026020016040519081016040528092919081815260200182805461016390610583565b80156101b05780601f10610185576101008083540402835291602001916101b0565b820191906000526020600020905b81548152906001019060200180831161019357829003601f168201915b505050505081565b80600190805190602001906101ce929190610210565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600a9050816000819055505050565b60008054905090565b82805461021c90610583565b90600052602060002090601f01602090048101928261023e5760008555610285565b82601f1061025757805160ff1916838001178555610285565b82800160010185558215610285579182015b82811115610284578251825591602001919060010190610269565b5b5090506102929190610296565b5090565b5b808211156102af576000816000905550600101610297565b5090565b60006102c66102c1846104ac565b610487565b9050828152602081018484840111156102e2576102e1610649565b5b6102ed848285610541565b509392505050565b600082601f83011261030a57610309610644565b5b813561031a8482602086016102b3565b91505092915050565b60008135905061033281610669565b92915050565b60006020828403121561034e5761034d610653565b5b600082013567ffffffffffffffff81111561036c5761036b61064e565b5b610378848285016102f5565b91505092915050565b60006020828403121561039757610396610653565b5b60006103a584828501610323565b91505092915050565b6103b7816104f9565b82525050565b6103c68161050b565b82525050565b60006103d7826104dd565b6103e181856104e8565b93506103f1818560208601610550565b6103fa81610658565b840191505092915050565b61040e81610537565b82525050565b600060208201905061042960008301846103ae565b92915050565b600060208201905061044460008301846103bd565b92915050565b6000602082019050818103600083015261046481846103cc565b905092915050565b60006020820190506104816000830184610405565b92915050565b60006104916104a2565b905061049d82826105b5565b919050565b6000604051905090565b600067ffffffffffffffff8211156104c7576104c6610615565b5b6104d082610658565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061050482610517565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561056e578082015181840152602081019050610553565b8381111561057d576000848401525b50505050565b6000600282049050600182168061059b57607f821691505b602082108114156105af576105ae6105e6565b5b50919050565b6105be82610658565b810181811067ffffffffffffffff821117156105dd576105dc610615565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61067281610537565b811461067d57600080fd5b5056fea264697066735822122007536ced70317dc2b97ad6a825ab751860e540ee3755a62f786aa1dd8ac499a064736f6c63430008070033",
"opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xAD9 CODESIZE SUB DUP1 PUSH3 0xAD9 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x52 SWAP2 SWAP1 PUSH3 0x1F6 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x71 SWAP3 SWAP2 SWAP1 PUSH3 0xB1 JUMP JUMPDEST POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP POP PUSH3 0x404 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xBF SWAP1 PUSH3 0x2FB JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xE3 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x12F JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xFE JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x12F JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x12F JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x12E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x111 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x13E SWAP2 SWAP1 PUSH3 0x142 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x15D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x143 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x178 PUSH3 0x172 DUP5 PUSH3 0x285 JUMP JUMPDEST PUSH3 0x25C JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x197 JUMPI PUSH3 0x196 PUSH3 0x3CA JUMP JUMPDEST JUMPDEST PUSH3 0x1A4 DUP5 DUP3 DUP6 PUSH3 0x2C5 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1C4 JUMPI PUSH3 0x1C3 PUSH3 0x3C5 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x1D6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x161 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x1F0 DUP2 PUSH3 0x3EA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x210 JUMPI PUSH3 0x20F PUSH3 0x3D4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x220 DUP6 DUP3 DUP7 ADD PUSH3 0x1DF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x244 JUMPI PUSH3 0x243 PUSH3 0x3CF JUMP JUMPDEST JUMPDEST PUSH3 0x252 DUP6 DUP3 DUP7 ADD PUSH3 0x1AC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x268 PUSH3 0x27B JUMP JUMPDEST SWAP1 POP PUSH3 0x276 DUP3 DUP3 PUSH3 0x331 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x2A3 JUMPI PUSH3 0x2A2 PUSH3 0x396 JUMP JUMPDEST JUMPDEST PUSH3 0x2AE DUP3 PUSH3 0x3D9 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x2E5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x2C8 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x2F5 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x314 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x32B JUMPI PUSH3 0x32A PUSH3 0x367 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x33C DUP3 PUSH3 0x3D9 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x35E JUMPI PUSH3 0x35D PUSH3 0x396 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH3 0x3F5 DUP2 PUSH3 0x2BB JUMP JUMPDEST DUP2 EQ PUSH3 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH2 0x6B6 PUSH3 0x423 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x1D4 ADD MSTORE PUSH2 0x6B6 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2C7E7AF EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x516F279E EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x827BFBDF EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x91B7F5ED EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0x98D5FDCA EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x117 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x42F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x12A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x44A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x338 JUMP JUMPDEST PUSH2 0x1B8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC7 PUSH2 0x1D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x414 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x381 JUMP JUMPDEST PUSH2 0x1F6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x101 PUSH2 0x207 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x46C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x137 SWAP1 PUSH2 0x583 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x163 SWAP1 PUSH2 0x583 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x185 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1CE SWAP3 SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SWAP1 POP DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x21C SWAP1 PUSH2 0x583 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x23E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x285 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x257 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x285 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x285 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x284 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x269 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x296 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2AF JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x297 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C6 PUSH2 0x2C1 DUP5 PUSH2 0x4AC JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2E2 JUMPI PUSH2 0x2E1 PUSH2 0x649 JUMP JUMPDEST JUMPDEST PUSH2 0x2ED DUP5 DUP3 DUP6 PUSH2 0x541 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0x644 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x31A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x332 DUP2 PUSH2 0x669 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34E JUMPI PUSH2 0x34D PUSH2 0x653 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x64E JUMP JUMPDEST JUMPDEST PUSH2 0x378 DUP5 DUP3 DUP6 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x397 JUMPI PUSH2 0x396 PUSH2 0x653 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3A5 DUP5 DUP3 DUP6 ADD PUSH2 0x323 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B7 DUP2 PUSH2 0x4F9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3C6 DUP2 PUSH2 0x50B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D7 DUP3 PUSH2 0x4DD JUMP JUMPDEST PUSH2 0x3E1 DUP2 DUP6 PUSH2 0x4E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x3F1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x550 JUMP JUMPDEST PUSH2 0x3FA DUP2 PUSH2 0x658 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x40E DUP2 PUSH2 0x537 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x429 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3AE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x444 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3BD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x464 DUP2 DUP5 PUSH2 0x3CC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x481 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x405 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x491 PUSH2 0x4A2 JUMP JUMPDEST SWAP1 POP PUSH2 0x49D DUP3 DUP3 PUSH2 0x5B5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4C7 JUMPI PUSH2 0x4C6 PUSH2 0x615 JUMP JUMPDEST JUMPDEST PUSH2 0x4D0 DUP3 PUSH2 0x658 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP3 PUSH2 0x517 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x553 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x57D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x5E6 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5BE DUP3 PUSH2 0x658 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0x615 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x672 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP2 EQ PUSH2 0x67D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD MSTORE8 PUSH13 0xED70317DC2B97AD6A825AB7518 PUSH1 0xE5 BLOCKHASH 0xEE CALLDATACOPY SSTORE 0xA6 0x2F PUSH25 0x6AA1DD8AC499A064736F6C6343000807003300000000000000 ",
"sourceMap": "75:1254:0:-:0;;;429:5;410:24;;;;;;;;;;;;;;;;;;;;530:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;598:6;590:5;:14;;;;626:9;615:8;:20;;;;;;;;;;;;:::i;:::-;;654:10;646:18;;;;;;;;;;;;530:216;;75:1254;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:421:1:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:112;;;293:79;;:::i;:::-;262:112;383:39;415:6;410:3;405;383:39;:::i;:::-;102:326;7:421;;;;;:::o;448:355::-;515:5;564:3;557:4;549:6;545:17;541:27;531:122;;572:79;;:::i;:::-;531:122;682:6;676:13;707:90;793:3;785:6;778:4;770:6;766:17;707:90;:::i;:::-;698:99;;521:282;448:355;;;;:::o;809:143::-;866:5;897:6;891:13;882:22;;913:33;940:5;913:33;:::i;:::-;809:143;;;;:::o;958:680::-;1047:6;1055;1104:2;1092:9;1083:7;1079:23;1075:32;1072:119;;;1110:79;;:::i;:::-;1072:119;1230:1;1255:64;1311:7;1302:6;1291:9;1287:22;1255:64;:::i;:::-;1245:74;;1201:128;1389:2;1378:9;1374:18;1368:25;1420:18;1412:6;1409:30;1406:117;;;1442:79;;:::i;:::-;1406:117;1547:74;1613:7;1604:6;1593:9;1589:22;1547:74;:::i;:::-;1537:84;;1339:292;958:680;;;;;:::o;1644:129::-;1678:6;1705:20;;:::i;:::-;1695:30;;1734:33;1762:4;1754:6;1734:33;:::i;:::-;1644:129;;;:::o;1779:75::-;1812:6;1845:2;1839:9;1829:19;;1779:75;:::o;1860:308::-;1922:4;2012:18;2004:6;2001:30;1998:56;;;2034:18;;:::i;:::-;1998:56;2072:29;2094:6;2072:29;:::i;:::-;2064:37;;2156:4;2150;2146:15;2138:23;;1860:308;;;:::o;2174:77::-;2211:7;2240:5;2229:16;;2174:77;;;:::o;2257:307::-;2325:1;2335:113;2349:6;2346:1;2343:13;2335:113;;;2434:1;2429:3;2425:11;2419:18;2415:1;2410:3;2406:11;2399:39;2371:2;2368:1;2364:10;2359:15;;2335:113;;;2466:6;2463:1;2460:13;2457:101;;;2546:1;2537:6;2532:3;2528:16;2521:27;2457:101;2306:258;2257:307;;;:::o;2570:320::-;2614:6;2651:1;2645:4;2641:12;2631:22;;2698:1;2692:4;2688:12;2719:18;2709:81;;2775:4;2767:6;2763:17;2753:27;;2709:81;2837:2;2829:6;2826:14;2806:18;2803:38;2800:84;;;2856:18;;:::i;:::-;2800:84;2621:269;2570:320;;;:::o;2896:281::-;2979:27;3001:4;2979:27;:::i;:::-;2971:6;2967:40;3109:6;3097:10;3094:22;3073:18;3061:10;3058:34;3055:62;3052:88;;;3120:18;;:::i;:::-;3052:88;3160:10;3156:2;3149:22;2939:238;2896:281;;:::o;3183:180::-;3231:77;3228:1;3221:88;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3369:180;3417:77;3414:1;3407:88;3514:4;3511:1;3504:15;3538:4;3535:1;3528:15;3555:117;3664:1;3661;3654:12;3678:117;3787:1;3784;3777:12;3801:117;3910:1;3907;3900:12;3924:117;4033:1;4030;4023:12;4047:102;4088:6;4139:2;4135:7;4130:2;4123:5;4119:14;4115:28;4105:38;;4047:102;;;:::o;4155:122::-;4228:24;4246:5;4228:24;:::i;:::-;4221:5;4218:35;4208:63;;4267:1;4264;4257:12;4208:63;4155:122;:::o;75:1254:0:-;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getPrice_59": {
"entryPoint": 519,
"id": 59,
"parameterSlots": 0,
"returnSlots": 1
},
"@location_5": {
"entryPoint": 298,
"id": 5,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_7": {
"entryPoint": 466,
"id": 7,
"parameterSlots": 0,
"returnSlots": 0
},
"@setLocation_69": {
"entryPoint": 440,
"id": 69,
"parameterSlots": 1,
"returnSlots": 0
},
"@setPrice_51": {
"entryPoint": 502,
"id": 51,
"parameterSlots": 1,
"returnSlots": 0
},
"@sold_13": {
"entryPoint": 279,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 691,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 757,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 803,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 824,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 897,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 942,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 957,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 972,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1029,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1044,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 1071,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1098,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1132,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1159,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1186,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1196,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1245,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1273,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1291,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1303,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1335,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1345,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1360,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1411,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1461,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1510,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1557,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1604,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1609,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1614,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1619,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1624,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1641,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6910:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "550:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "552:77:1"
},
"nodeType": "YulFunctionCall",
"src": "552:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "552:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "529:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "537:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "544:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "521:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "514:35:1"
},
"nodeType": "YulIf",
"src": "511:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "642:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "669:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "656:12:1"
},
"nodeType": "YulFunctionCall",
"src": "656:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "685:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "746:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "754:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "742:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "761:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "694:47:1"
},
"nodeType": "YulFunctionCall",
"src": "694:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "685:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "487:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "495:5:1",
"type": ""
}
],
"src": "439:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "837:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "847:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "869:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "856:12:1"
},
"nodeType": "YulFunctionCall",
"src": "856:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "847:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "912:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "885:26:1"
},
"nodeType": "YulFunctionCall",
"src": "885:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "885:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "823:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "831:5:1",
"type": ""
}
],
"src": "785:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1052:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1054:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1054:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1054:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1027:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1036:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1023:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1048:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1019:32:1"
},
"nodeType": "YulIf",
"src": "1016:119:1"
},
{
"nodeType": "YulBlock",
"src": "1145:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1160:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1191:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1202:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1187:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1187:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1174:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1174:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1164:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1252:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1254:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1254:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1254:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1224:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1221:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1221:30:1"
},
"nodeType": "YulIf",
"src": "1218:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1349:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1394:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1405:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1390:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1390:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1414:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1359:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1359:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1349:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "976:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "987:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "999:6:1",
"type": ""
}
],
"src": "930:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1511:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1557:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1559:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1559:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1559:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1532:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1541:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1528:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1528:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1553:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1524:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1524:32:1"
},
"nodeType": "YulIf",
"src": "1521:119:1"
},
{
"nodeType": "YulBlock",
"src": "1650:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1665:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1679:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1669:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1694:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1729:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1740:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1725:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1725:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1749:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1704:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1704:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1694:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1481:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1492:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1504:6:1",
"type": ""
}
],
"src": "1445:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1845:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1862:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1885:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1867:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1867:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1855:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1855:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1855:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1833:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1840:3:1",
"type": ""
}
],
"src": "1780:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1963:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1980:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2000:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1985:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1985:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1973:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1973:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1973:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1951:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1958:3:1",
"type": ""
}
],
"src": "1904:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2111:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2121:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2168:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2135:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2135:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2125:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2183:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2249:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2254:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2190:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2190:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2183:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2296:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2303:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2292:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2292:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2310:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2315:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2270:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2270:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2270:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2331:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2342:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2369:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2347:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2347:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2338:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2338:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2331:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2092:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2099:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2107:3:1",
"type": ""
}
],
"src": "2019:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2454:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2471:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2494:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2476:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2476:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2464:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2464:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2464:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2442:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2449:3:1",
"type": ""
}
],
"src": "2389:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2611:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2621:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2633:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2644:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2629:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2629:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2621:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2701:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2714:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2725:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2710:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2710:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2657:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2657:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2657:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2583:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2595:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2606:4:1",
"type": ""
}
],
"src": "2513:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2833:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2843:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2855:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2866:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2851:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2843:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2917:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2930:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2941:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2926:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "2879:37:1"
},
"nodeType": "YulFunctionCall",
"src": "2879:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2879:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2805:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2817:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2828:4:1",
"type": ""
}
],
"src": "2741:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3075:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3085:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3097:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3108:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3093:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3093:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3085:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3132:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3143:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3128:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3151:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3157:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3147:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3121:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3121:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3121:47:1"
},
{
"nodeType": "YulAssignment",
"src": "3177:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3249:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3258:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3185:63:1"
},
"nodeType": "YulFunctionCall",
"src": "3185:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3177:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3047:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3059:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3070:4:1",
"type": ""
}
],
"src": "2957:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3374:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3384:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3396:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3407:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3392:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3392:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3384:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3464:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3477:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3488:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3473:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3473:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3420:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3420:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3420:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3346:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3358:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3369:4:1",
"type": ""
}
],
"src": "3276:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3545:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3555:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "3565:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3565:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3555:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3614:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3622:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "3594:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3594:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "3594:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3529:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3538:6:1",
"type": ""
}
],
"src": "3504:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3679:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3689:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3705:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3699:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3699:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "3689:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "3672:6:1",
"type": ""
}
],
"src": "3639:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3787:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3892:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "3894:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3894:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3894:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3864:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3872:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3861:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3861:30:1"
},
"nodeType": "YulIf",
"src": "3858:56:1"
},
{
"nodeType": "YulAssignment",
"src": "3924:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3954:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3932:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3932:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3924:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3998:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4010:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4016:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4006:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4006:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "3998:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3771:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "3782:4:1",
"type": ""
}
],
"src": "3720:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4093:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4104:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4120:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4114:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4114:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4104:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4076:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4086:6:1",
"type": ""
}
],
"src": "4034:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4235:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4252:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4257:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4245:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4245:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4273:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4292:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4288:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4288:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4273:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4207:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4212:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4223:11:1",
"type": ""
}
],
"src": "4139:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4359:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4369:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4398:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "4380:17:1"
},
"nodeType": "YulFunctionCall",
"src": "4380:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4369:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4341:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4351:7:1",
"type": ""
}
],
"src": "4314:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4458:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4468:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4493:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4486:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4486:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4479:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4479:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4468:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4440:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4450:7:1",
"type": ""
}
],
"src": "4416:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4557:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4567:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4582:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4589:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4578:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4578:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4567:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4539:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4549:7:1",
"type": ""
}
],
"src": "4512:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4689:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4699:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "4710:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4699:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4671:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4681:7:1",
"type": ""
}
],
"src": "4644:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4778:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4801:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4806:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4811:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "4788:12:1"
},
"nodeType": "YulFunctionCall",
"src": "4788:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "4788:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "4859:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4864:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4855:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4855:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4873:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4848:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4848:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "4848:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "4760:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4765:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4770:6:1",
"type": ""
}
],
"src": "4727:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4936:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4946:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4955:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4950:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5015:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5040:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5045:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5036:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5036:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5059:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5064:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5055:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5055:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5049:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5049:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5029:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5029:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "5029:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4976:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4979:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4973:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4973:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4987:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4989:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4998:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5001:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4994:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4994:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4989:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4969:3:1",
"statements": []
},
"src": "4965:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5112:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5162:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5167:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5158:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5158:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5176:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5151:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5151:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5151:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5093:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5096:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5090:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5090:13:1"
},
"nodeType": "YulIf",
"src": "5087:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "4918:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "4923:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4928:6:1",
"type": ""
}
],
"src": "4887:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5251:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5261:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5275:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5281:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5271:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5271:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5261:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5292:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5322:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5328:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5318:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5318:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5296:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5369:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5383:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5397:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5405:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5393:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5393:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5383:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5349:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5342:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5342:26:1"
},
"nodeType": "YulIf",
"src": "5339:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5472:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "5486:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5486:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5486:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5436:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5459:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5467:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5456:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5456:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5433:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5433:38:1"
},
"nodeType": "YulIf",
"src": "5430:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5235:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5244:6:1",
"type": ""
}
],
"src": "5200:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5569:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5579:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5601:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5631:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5609:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5609:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5597:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5597:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "5583:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5748:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5750:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5750:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5750:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5691:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5703:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5688:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5688:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5727:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "5739:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5724:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5724:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "5685:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5685:62:1"
},
"nodeType": "YulIf",
"src": "5682:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5786:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "5790:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5779:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5779:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "5779:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "5555:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "5563:4:1",
"type": ""
}
],
"src": "5526:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5841:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5858:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5861:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5851:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5851:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "5851:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5955:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5958:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5948:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5948:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5948:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5979:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5982:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5972:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5972:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "5972:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "5813:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6027:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6044:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6047:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6037:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6037:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6037:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6141:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6144:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6134:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6134:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6134:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6165:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6168:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6158:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6158:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6158:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "5999:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6274:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6291:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6294:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6284:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6284:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6284:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "6185:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6397:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6414:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6417:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6407:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6407:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6407:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "6308:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6520:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6537:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6540:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6530:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6530:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6530:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "6431:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6643:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6660:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6653:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6653:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6653:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "6554:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6725:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6735:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6753:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6760:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6749:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6749:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6769:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6765:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6765:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6745:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6745:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "6735:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6708:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "6718:6:1",
"type": ""
}
],
"src": "6677:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6828:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6885:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6894:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6897:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6887:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6887:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6887:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6851:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6876:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6858:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6858:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6848:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6848:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6841:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6841:43:1"
},
"nodeType": "YulIf",
"src": "6838:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6821:5:1",
"type": ""
}
],
"src": "6785:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\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_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {
"7": [
{
"length": 32,
"start": 468
}
]
},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c806302c7e7af14610067578063516f279e14610085578063827bfbdf146100a35780638da5cb5b146100bf57806391b7f5ed146100dd57806398d5fdca146100f9575b600080fd5b61006f610117565b60405161007c919061042f565b60405180910390f35b61008d61012a565b60405161009a919061044a565b60405180910390f35b6100bd60048036038101906100b89190610338565b6101b8565b005b6100c76101d2565b6040516100d49190610414565b60405180910390f35b6100f760048036038101906100f29190610381565b6101f6565b005b610101610207565b60405161010e919061046c565b60405180910390f35b600260009054906101000a900460ff1681565b6001805461013790610583565b80601f016020809104026020016040519081016040528092919081815260200182805461016390610583565b80156101b05780601f10610185576101008083540402835291602001916101b0565b820191906000526020600020905b81548152906001019060200180831161019357829003601f168201915b505050505081565b80600190805190602001906101ce929190610210565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600a9050816000819055505050565b60008054905090565b82805461021c90610583565b90600052602060002090601f01602090048101928261023e5760008555610285565b82601f1061025757805160ff1916838001178555610285565b82800160010185558215610285579182015b82811115610284578251825591602001919060010190610269565b5b5090506102929190610296565b5090565b5b808211156102af576000816000905550600101610297565b5090565b60006102c66102c1846104ac565b610487565b9050828152602081018484840111156102e2576102e1610649565b5b6102ed848285610541565b509392505050565b600082601f83011261030a57610309610644565b5b813561031a8482602086016102b3565b91505092915050565b60008135905061033281610669565b92915050565b60006020828403121561034e5761034d610653565b5b600082013567ffffffffffffffff81111561036c5761036b61064e565b5b610378848285016102f5565b91505092915050565b60006020828403121561039757610396610653565b5b60006103a584828501610323565b91505092915050565b6103b7816104f9565b82525050565b6103c68161050b565b82525050565b60006103d7826104dd565b6103e181856104e8565b93506103f1818560208601610550565b6103fa81610658565b840191505092915050565b61040e81610537565b82525050565b600060208201905061042960008301846103ae565b92915050565b600060208201905061044460008301846103bd565b92915050565b6000602082019050818103600083015261046481846103cc565b905092915050565b60006020820190506104816000830184610405565b92915050565b60006104916104a2565b905061049d82826105b5565b919050565b6000604051905090565b600067ffffffffffffffff8211156104c7576104c6610615565b5b6104d082610658565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061050482610517565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561056e578082015181840152602081019050610553565b8381111561057d576000848401525b50505050565b6000600282049050600182168061059b57607f821691505b602082108114156105af576105ae6105e6565b5b50919050565b6105be82610658565b810181811067ffffffffffffffff821117156105dd576105dc610615565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61067281610537565b811461067d57600080fd5b5056fea264697066735822122007536ced70317dc2b97ad6a825ab751860e540ee3755a62f786aa1dd8ac499a064736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2C7E7AF EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x516F279E EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x827BFBDF EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0x91B7F5ED EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0x98D5FDCA EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x117 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x42F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x12A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x44A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x338 JUMP JUMPDEST PUSH2 0x1B8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC7 PUSH2 0x1D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD4 SWAP2 SWAP1 PUSH2 0x414 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF2 SWAP2 SWAP1 PUSH2 0x381 JUMP JUMPDEST PUSH2 0x1F6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x101 PUSH2 0x207 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x46C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x137 SWAP1 PUSH2 0x583 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x163 SWAP1 PUSH2 0x583 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x185 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1CE SWAP3 SWAP2 SWAP1 PUSH2 0x210 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA SWAP1 POP DUP2 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x21C SWAP1 PUSH2 0x583 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x23E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x285 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x257 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x285 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x285 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x284 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x269 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x296 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2AF JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x297 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C6 PUSH2 0x2C1 DUP5 PUSH2 0x4AC JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2E2 JUMPI PUSH2 0x2E1 PUSH2 0x649 JUMP JUMPDEST JUMPDEST PUSH2 0x2ED DUP5 DUP3 DUP6 PUSH2 0x541 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x30A JUMPI PUSH2 0x309 PUSH2 0x644 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x31A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x332 DUP2 PUSH2 0x669 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x34E JUMPI PUSH2 0x34D PUSH2 0x653 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36C JUMPI PUSH2 0x36B PUSH2 0x64E JUMP JUMPDEST JUMPDEST PUSH2 0x378 DUP5 DUP3 DUP6 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x397 JUMPI PUSH2 0x396 PUSH2 0x653 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3A5 DUP5 DUP3 DUP6 ADD PUSH2 0x323 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3B7 DUP2 PUSH2 0x4F9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x3C6 DUP2 PUSH2 0x50B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3D7 DUP3 PUSH2 0x4DD JUMP JUMPDEST PUSH2 0x3E1 DUP2 DUP6 PUSH2 0x4E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x3F1 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x550 JUMP JUMPDEST PUSH2 0x3FA DUP2 PUSH2 0x658 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x40E DUP2 PUSH2 0x537 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x429 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3AE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x444 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3BD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x464 DUP2 DUP5 PUSH2 0x3CC JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x481 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x405 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x491 PUSH2 0x4A2 JUMP JUMPDEST SWAP1 POP PUSH2 0x49D DUP3 DUP3 PUSH2 0x5B5 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x4C7 JUMPI PUSH2 0x4C6 PUSH2 0x615 JUMP JUMPDEST JUMPDEST PUSH2 0x4D0 DUP3 PUSH2 0x658 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x504 DUP3 PUSH2 0x517 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x553 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x57D JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x59B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5AF JUMPI PUSH2 0x5AE PUSH2 0x5E6 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5BE DUP3 PUSH2 0x658 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x5DD JUMPI PUSH2 0x5DC PUSH2 0x615 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT 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 PUSH2 0x672 DUP2 PUSH2 0x537 JUMP JUMPDEST DUP2 EQ PUSH2 0x67D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SMOD MSTORE8 PUSH13 0xED70317DC2B97AD6A825AB7518 PUSH1 0xE5 BLOCKHASH 0xEE CALLDATACOPY SSTORE 0xA6 0x2F PUSH25 0x6AA1DD8AC499A064736F6C6343000807003300000000000000 ",
"sourceMap": "75:1254:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;410:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;203:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1179:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;307:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;817:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1081:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;410:24;;;;;;;;;;;;;:::o;203:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1179:141::-;1303:9;1292:8;:20;;;;;;;;;;;;:::i;:::-;;1179:141;:::o;307:30::-;;;:::o;817:136::-;865:5;918:2;914:6;;939;931:5;:14;;;;854:99;817:136;:::o;1081:86::-;1121:4;1144:5;;1137:12;;1081:86;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;785:139;;;;:::o;930:509::-;999:6;1048:2;1036:9;1027:7;1023:23;1019:32;1016:119;;;1054:79;;:::i;:::-;1016:119;1202:1;1191:9;1187:17;1174:31;1232:18;1224:6;1221:30;1218:117;;;1254:79;;:::i;:::-;1218:117;1359:63;1414:7;1405:6;1394:9;1390:22;1359:63;:::i;:::-;1349:73;;1145:287;930:509;;;;:::o;1445:329::-;1504:6;1553:2;1541:9;1532:7;1528:23;1524:32;1521:119;;;1559:79;;:::i;:::-;1521:119;1679:1;1704:53;1749:7;1740:6;1729:9;1725:22;1704:53;:::i;:::-;1694:63;;1650:117;1445:329;;;;:::o;1780:118::-;1867:24;1885:5;1867:24;:::i;:::-;1862:3;1855:37;1780:118;;:::o;1904:109::-;1985:21;2000:5;1985:21;:::i;:::-;1980:3;1973:34;1904:109;;:::o;2019:364::-;2107:3;2135:39;2168:5;2135:39;:::i;:::-;2190:71;2254:6;2249:3;2190:71;:::i;:::-;2183:78;;2270:52;2315:6;2310:3;2303:4;2296:5;2292:16;2270:52;:::i;:::-;2347:29;2369:6;2347:29;:::i;:::-;2342:3;2338:39;2331:46;;2111:272;2019:364;;;;:::o;2389:118::-;2476:24;2494:5;2476:24;:::i;:::-;2471:3;2464:37;2389:118;;:::o;2513:222::-;2606:4;2644:2;2633:9;2629:18;2621:26;;2657:71;2725:1;2714:9;2710:17;2701:6;2657:71;:::i;:::-;2513:222;;;;:::o;2741:210::-;2828:4;2866:2;2855:9;2851:18;2843:26;;2879:65;2941:1;2930:9;2926:17;2917:6;2879:65;:::i;:::-;2741:210;;;;:::o;2957:313::-;3070:4;3108:2;3097:9;3093:18;3085:26;;3157:9;3151:4;3147:20;3143:1;3132:9;3128:17;3121:47;3185:78;3258:4;3249:6;3185:78;:::i;:::-;3177:86;;2957:313;;;;:::o;3276:222::-;3369:4;3407:2;3396:9;3392:18;3384:26;;3420:71;3488:1;3477:9;3473:17;3464:6;3420:71;:::i;:::-;3276:222;;;;:::o;3504:129::-;3538:6;3565:20;;:::i;:::-;3555:30;;3594:33;3622:4;3614:6;3594:33;:::i;:::-;3504:129;;;:::o;3639:75::-;3672:6;3705:2;3699:9;3689:19;;3639:75;:::o;3720:308::-;3782:4;3872:18;3864:6;3861:30;3858:56;;;3894:18;;:::i;:::-;3858:56;3932:29;3954:6;3932:29;:::i;:::-;3924:37;;4016:4;4010;4006:15;3998:23;;3720:308;;;:::o;4034:99::-;4086:6;4120:5;4114:12;4104:22;;4034:99;;;:::o;4139:169::-;4223:11;4257:6;4252:3;4245:19;4297:4;4292:3;4288:14;4273:29;;4139:169;;;;:::o;4314:96::-;4351:7;4380:24;4398:5;4380:24;:::i;:::-;4369:35;;4314:96;;;:::o;4416:90::-;4450:7;4493:5;4486:13;4479:21;4468:32;;4416:90;;;:::o;4512:126::-;4549:7;4589:42;4582:5;4578:54;4567:65;;4512:126;;;:::o;4644:77::-;4681:7;4710:5;4699:16;;4644:77;;;:::o;4727:154::-;4811:6;4806:3;4801;4788:30;4873:1;4864:6;4859:3;4855:16;4848:27;4727:154;;;:::o;4887:307::-;4955:1;4965:113;4979:6;4976:1;4973:13;4965:113;;;5064:1;5059:3;5055:11;5049:18;5045:1;5040:3;5036:11;5029:39;5001:2;4998:1;4994:10;4989:15;;4965:113;;;5096:6;5093:1;5090:13;5087:101;;;5176:1;5167:6;5162:3;5158:16;5151:27;5087:101;4936:258;4887:307;;;:::o;5200:320::-;5244:6;5281:1;5275:4;5271:12;5261:22;;5328:1;5322:4;5318:12;5349:18;5339:81;;5405:4;5397:6;5393:17;5383:27;;5339:81;5467:2;5459:6;5456:14;5436:18;5433:38;5430:84;;;5486:18;;:::i;:::-;5430:84;5251:269;5200:320;;;:::o;5526:281::-;5609:27;5631:4;5609:27;:::i;:::-;5601:6;5597:40;5739:6;5727:10;5724:22;5703:18;5691:10;5688:34;5685:62;5682:88;;;5750:18;;:::i;:::-;5682:88;5790:10;5786:2;5779:22;5569:238;5526:281;;:::o;5813:180::-;5861:77;5858:1;5851:88;5958:4;5955:1;5948:15;5982:4;5979:1;5972:15;5999:180;6047:77;6044:1;6037:88;6144:4;6141:1;6134:15;6168:4;6165:1;6158:15;6185:117;6294:1;6291;6284:12;6308:117;6417:1;6414;6407:12;6431:117;6540:1;6537;6530:12;6554:117;6663:1;6660;6653:12;6677:102;6718:6;6769:2;6765:7;6760:2;6753:5;6749:14;6745:28;6735:38;;6677:102;;;:::o;6785:122::-;6858:24;6876:5;6858:24;:::i;:::-;6851:5;6848:35;6838:63;;6897:1;6894;6887:12;6838:63;6785:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "343600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"getPrice()": "2525",
"location()": "infinite",
"owner()": "infinite",
"setLocation(string)": "infinite",
"setPrice(uint256)": "22599",
"sold()": "2449"
}
},
"methodIdentifiers": {
"getPrice()": "98d5fdca",
"location()": "516f279e",
"owner()": "8da5cb5b",
"setLocation(string)": "827bfbdf",
"setPrice(uint256)": "91b7f5ed",
"sold()": "02c7e7af"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
},
{
"internalType": "string",
"name": "_location",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "location",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_location",
"type": "string"
}
],
"name": "setLocation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
}
],
"name": "setPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sold",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
},
{
"internalType": "string",
"name": "_location",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "location",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_location",
"type": "string"
}
],
"name": "setLocation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_price",
"type": "uint256"
}
],
"name": "setPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "sold",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"names_and_variables.sol": "Property"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"names_and_variables.sol": {
"keccak256": "0xd1d35754d9d2f32c8a2036a403be1a44704aba315c901171d7bc441d883828ba",
"license": "GPL-3.0",
"urls": [
"bzz-raw://cd35b7852e2def0c55a5f13535c8d3727a12d06a0ae2c8ae9f9a57796f423ab6",
"dweb:/ipfs/QmVsSK3bbsSuThNzTgAeWJ8QTTfB5pWpwRrEDHFJeAPdqt"
]
}
},
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_620": {
"entryPoint": null,
"id": 620,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107ce806100606000396000f3fe6080604052600436106100435760003560e01c806312065fe01461004c5780638da5cb5b14610077578063e4dc4f55146100a2578063f5537ede146100be5761004a565b3661004a57005b005b34801561005857600080fd5b506100616100e7565b60405161006e9190610628565b60405180910390f35b34801561008357600080fd5b5061008c6100ef565b604051610099919061056d565b60405180910390f35b6100bc60048036038101906100b791906103e4565b610113565b005b3480156100ca57600080fd5b506100e560048036038101906100e09190610451565b6101c7565b005b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808373ffffffffffffffffffffffffffffffffffffffff168360405161013a90610558565b60006040518083038185875af1925050503d8060008114610177576040519150601f19603f3d011682016040523d82523d6000602084013e61017c565b606091505b5091509150816101c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b8906105e8565b60405180910390fd5b50505050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610202919061056d565b60206040518083038186803b15801561021a57600080fd5b505afa15801561022e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025291906104a4565b905080821015610297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028e90610608565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016102d29291906105bf565b602060405180830381600087803b1580156102ec57600080fd5b505af1158015610300573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103249190610424565b507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e33848460405161035893929190610588565b60405180910390a150505050565b60008135905061037581610725565b92915050565b60008135905061038a8161073c565b92915050565b60008151905061039f81610753565b92915050565b6000813590506103b48161076a565b92915050565b6000813590506103c981610781565b92915050565b6000815190506103de81610781565b92915050565b600080604083850312156103fb576103fa6106cb565b5b60006104098582860161037b565b925050602061041a858286016103ba565b9150509250929050565b60006020828403121561043a576104396106cb565b5b600061044884828501610390565b91505092915050565b60008060006060848603121561046a576104696106cb565b5b6000610478868287016103a5565b935050602061048986828701610366565b925050604061049a868287016103ba565b9150509250925092565b6000602082840312156104ba576104b96106cb565b5b60006104c8848285016103cf565b91505092915050565b6104da8161065f565b82525050565b60006104ed60148361064e565b91506104f8826106d0565b602082019050919050565b6000610510601d8361064e565b915061051b826106f9565b602082019050919050565b6000610533600083610643565b915061053e82610722565b600082019050919050565b610552816106c1565b82525050565b600061056382610526565b9150819050919050565b600060208201905061058260008301846104d1565b92915050565b600060608201905061059d60008301866104d1565b6105aa60208301856104d1565b6105b76040830184610549565b949350505050565b60006040820190506105d460008301856104d1565b6105e16020830184610549565b9392505050565b60006020820190508181036000830152610601816104e0565b9050919050565b6000602082019050818103600083015261062181610503565b9050919050565b600060208201905061063d6000830184610549565b92915050565b600081905092915050565b600082825260208201905092915050565b600061066a826106a1565b9050919050565b600061067c826106a1565b9050919050565b60008115159050919050565b600061069a8261065f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f596f7520646f6e27742068617665207375636820616d6f756e74203d28000000600082015250565b50565b61072e8161065f565b811461073957600080fd5b50565b61074581610671565b811461075057600080fd5b50565b61075c81610683565b811461076757600080fd5b50565b6107738161068f565b811461077e57600080fd5b50565b61078a816106c1565b811461079557600080fd5b5056fea264697066735822122003fdae295b8fd780856df3fb77f95464e271c304e816143d74d822338883897e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x7CE DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x43 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x4C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xE4DC4F55 EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xF5537EDE EQ PUSH2 0xBE JUMPI PUSH2 0x4A JUMP JUMPDEST CALLDATASIZE PUSH2 0x4A JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x61 PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x628 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB7 SWAP2 SWAP1 PUSH2 0x3E4 JUMP JUMPDEST PUSH2 0x113 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x451 JUMP JUMPDEST PUSH2 0x1C7 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x13A SWAP1 PUSH2 0x558 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x17C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B8 SWAP1 PUSH2 0x5E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x56D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x22E 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 0x252 SWAP2 SWAP1 PUSH2 0x4A4 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0x297 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x28E SWAP1 PUSH2 0x608 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D2 SWAP3 SWAP2 SWAP1 PUSH2 0x5BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x300 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 0x324 SWAP2 SWAP1 PUSH2 0x424 JUMP JUMPDEST POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x358 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x375 DUP2 PUSH2 0x725 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x38A DUP2 PUSH2 0x73C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x39F DUP2 PUSH2 0x753 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3B4 DUP2 PUSH2 0x76A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C9 DUP2 PUSH2 0x781 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3DE DUP2 PUSH2 0x781 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3FB JUMPI PUSH2 0x3FA PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x409 DUP6 DUP3 DUP7 ADD PUSH2 0x37B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x41A DUP6 DUP3 DUP7 ADD PUSH2 0x3BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x448 DUP5 DUP3 DUP6 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x478 DUP7 DUP3 DUP8 ADD PUSH2 0x3A5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x489 DUP7 DUP3 DUP8 ADD PUSH2 0x366 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x49A DUP7 DUP3 DUP8 ADD PUSH2 0x3BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BA JUMPI PUSH2 0x4B9 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4C8 DUP5 DUP3 DUP6 ADD PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4DA DUP2 PUSH2 0x65F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4ED PUSH1 0x14 DUP4 PUSH2 0x64E JUMP JUMPDEST SWAP2 POP PUSH2 0x4F8 DUP3 PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x510 PUSH1 0x1D DUP4 PUSH2 0x64E JUMP JUMPDEST SWAP2 POP PUSH2 0x51B DUP3 PUSH2 0x6F9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x533 PUSH1 0x0 DUP4 PUSH2 0x643 JUMP JUMPDEST SWAP2 POP PUSH2 0x53E DUP3 PUSH2 0x722 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x552 DUP2 PUSH2 0x6C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x563 DUP3 PUSH2 0x526 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x582 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x59D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5AA PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5B7 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5D4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5E1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x601 DUP2 PUSH2 0x4E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x621 DUP2 PUSH2 0x503 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x63D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x66A DUP3 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67C DUP3 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69A DUP3 PUSH2 0x65F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4661696C656420746F2073656E64204574686572000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F7520646F6E27742068617665207375636820616D6F756E74203D28000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x72E DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x745 DUP2 PUSH2 0x671 JUMP JUMPDEST DUP2 EQ PUSH2 0x750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x75C DUP2 PUSH2 0x683 JUMP JUMPDEST DUP2 EQ PUSH2 0x767 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x773 DUP2 PUSH2 0x68F JUMP JUMPDEST DUP2 EQ PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x78A DUP2 PUSH2 0x6C1 JUMP JUMPDEST DUP2 EQ PUSH2 0x795 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB REVERT 0xAE 0x29 JUMPDEST DUP16 0xD7 DUP1 DUP6 PUSH14 0xF3FB77F95464E271C304E816143D PUSH21 0xD822338883897E64736F6C63430008070033000000 ",
"sourceMap": "127:1192:3:-:0;;;260:54;;;;;;;;;;292:10;284:5;;:18;;;;;;;;;;;;;;;;;;127:1192;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_624": {
"entryPoint": null,
"id": 624,
"parameterSlots": 0,
"returnSlots": 0
},
"@_628": {
"entryPoint": null,
"id": 628,
"parameterSlots": 0,
"returnSlots": 0
},
"@getBalance_640": {
"entryPoint": 231,
"id": 640,
"parameterSlots": 0,
"returnSlots": 1
},
"@owner_603": {
"entryPoint": 239,
"id": 603,
"parameterSlots": 0,
"returnSlots": 0
},
"@sendViaCall_664": {
"entryPoint": 275,
"id": 664,
"parameterSlots": 2,
"returnSlots": 0
},
"@transferToken_706": {
"entryPoint": 455,
"id": 706,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 870,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_address_payable": {
"entryPoint": 891,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 912,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_contract$_IERC20_$77": {
"entryPoint": 933,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 954,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 975,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_payablet_uint256": {
"entryPoint": 996,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1060,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256": {
"entryPoint": 1105,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_uint256_fromMemory": {
"entryPoint": 1188,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1233,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1248,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1283,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1318,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1353,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1368,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 1389,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1416,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1471,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1512,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1544,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1576,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1603,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1614,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1631,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_address_payable": {
"entryPoint": 1649,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1667,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_contract$_IERC20_$77": {
"entryPoint": 1679,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1697,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1729,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1739,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb": {
"entryPoint": 1744,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58": {
"entryPoint": 1785,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470": {
"entryPoint": 1826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1829,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address_payable": {
"entryPoint": 1852,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1875,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_contract$_IERC20_$77": {
"entryPoint": 1898,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1921,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9172:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:4"
},
"nodeType": "YulFunctionCall",
"src": "78:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:4"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:4"
},
"nodeType": "YulFunctionCall",
"src": "107:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:4"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:4",
"type": ""
}
],
"src": "7:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "212:95:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "222:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "231:12:4"
},
"nodeType": "YulFunctionCall",
"src": "231:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "222:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "295:5:4"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "260:34:4"
},
"nodeType": "YulFunctionCall",
"src": "260:41:4"
},
"nodeType": "YulExpressionStatement",
"src": "260:41:4"
}
]
},
"name": "abi_decode_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "190:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "198:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "206:5:4",
"type": ""
}
],
"src": "152:155:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "373:77:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "383:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "398:6:4"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "392:5:4"
},
"nodeType": "YulFunctionCall",
"src": "392:13:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "383:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "438:5:4"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "414:23:4"
},
"nodeType": "YulFunctionCall",
"src": "414:30:4"
},
"nodeType": "YulExpressionStatement",
"src": "414:30:4"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "351:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "359:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "367:5:4",
"type": ""
}
],
"src": "313:137:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "521:100:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "531:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "553:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "540:12:4"
},
"nodeType": "YulFunctionCall",
"src": "540:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "531:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "609:5:4"
}
],
"functionName": {
"name": "validator_revert_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "569:39:4"
},
"nodeType": "YulFunctionCall",
"src": "569:46:4"
},
"nodeType": "YulExpressionStatement",
"src": "569:46:4"
}
]
},
"name": "abi_decode_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "499:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "507:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "515:5:4",
"type": ""
}
],
"src": "456:165:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "679:87:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "689:29:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "711:6:4"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "698:12:4"
},
"nodeType": "YulFunctionCall",
"src": "698:20:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "689:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "754:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "727:26:4"
},
"nodeType": "YulFunctionCall",
"src": "727:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "727:33:4"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "657:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "665:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "673:5:4",
"type": ""
}
],
"src": "627:139:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "835:80:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "845:22:4",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "860:6:4"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "854:5:4"
},
"nodeType": "YulFunctionCall",
"src": "854:13:4"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "845:5:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "903:5:4"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "876:26:4"
},
"nodeType": "YulFunctionCall",
"src": "876:33:4"
},
"nodeType": "YulExpressionStatement",
"src": "876:33:4"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "813:6:4",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "821:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "829:5:4",
"type": ""
}
],
"src": "772:143:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1012:399:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1058:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1060:77:4"
},
"nodeType": "YulFunctionCall",
"src": "1060:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1060:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1033:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1042:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1029:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1029:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1054:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1025:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1025:32:4"
},
"nodeType": "YulIf",
"src": "1022:119:4"
},
{
"nodeType": "YulBlock",
"src": "1151:125:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1166:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1180:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1170:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1195:71:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1238:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1249:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1234:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1234:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1258:7:4"
}
],
"functionName": {
"name": "abi_decode_t_address_payable",
"nodeType": "YulIdentifier",
"src": "1205:28:4"
},
"nodeType": "YulFunctionCall",
"src": "1205:61:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1195:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1286:118:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1301:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1315:2:4",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1305:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1331:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1366:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1377:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1362:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1362:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1386:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1341:20:4"
},
"nodeType": "YulFunctionCall",
"src": "1341:53:4"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1331:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payablet_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "974:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "985:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "997:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1005:6:4",
"type": ""
}
],
"src": "921:490:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1491:271:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1537:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1539:77:4"
},
"nodeType": "YulFunctionCall",
"src": "1539:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1539:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1512:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1521:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1508:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1508:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1533:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1504:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1504:32:4"
},
"nodeType": "YulIf",
"src": "1501:119:4"
},
{
"nodeType": "YulBlock",
"src": "1630:125:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1645:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1659:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1649:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1674:71:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1717:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1728:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1713:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1713:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1737:7:4"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "1684:28:4"
},
"nodeType": "YulFunctionCall",
"src": "1684:61:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1674:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1461:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1472:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1484:6:4",
"type": ""
}
],
"src": "1417:345:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1881:532:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1927:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1929:77:4"
},
"nodeType": "YulFunctionCall",
"src": "1929:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "1929:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1902:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1911:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1898:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1898:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1923:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1894:3:4"
},
"nodeType": "YulFunctionCall",
"src": "1894:32:4"
},
"nodeType": "YulIf",
"src": "1891:119:4"
},
{
"nodeType": "YulBlock",
"src": "2020:130:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2035:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2049:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2039:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2064:76:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2112:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2123:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2108:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2108:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2132:7:4"
}
],
"functionName": {
"name": "abi_decode_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "2074:33:4"
},
"nodeType": "YulFunctionCall",
"src": "2074:66:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2064:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2160:118:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2175:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2189:2:4",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2179:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2205:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2240:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2251:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2236:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2236:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2260:7:4"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2215:20:4"
},
"nodeType": "YulFunctionCall",
"src": "2215:53:4"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2205:6:4"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2288:118:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2303:16:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2317:2:4",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2307:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2333:63:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2368:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2379:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2364:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2364:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2388:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2343:20:4"
},
"nodeType": "YulFunctionCall",
"src": "2343:53:4"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2333:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1835:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1846:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1858:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1866:6:4",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1874:6:4",
"type": ""
}
],
"src": "1768:645:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2496:274:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2542:83:4",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2544:77:4"
},
"nodeType": "YulFunctionCall",
"src": "2544:79:4"
},
"nodeType": "YulExpressionStatement",
"src": "2544:79:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2517:7:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2526:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2513:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2513:23:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2538:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2509:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2509:32:4"
},
"nodeType": "YulIf",
"src": "2506:119:4"
},
{
"nodeType": "YulBlock",
"src": "2635:128:4",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2650:15:4",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2664:1:4",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2654:6:4",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2679:74:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2725:9:4"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2736:6:4"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2721:3:4"
},
"nodeType": "YulFunctionCall",
"src": "2721:22:4"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2745:7:4"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "2689:31:4"
},
"nodeType": "YulFunctionCall",
"src": "2689:64:4"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2679:6:4"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2466:9:4",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2477:7:4",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2489:6:4",
"type": ""
}
],
"src": "2419:351:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2841:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2858:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2881:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2863:17:4"
},
"nodeType": "YulFunctionCall",
"src": "2863:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2851:6:4"
},
"nodeType": "YulFunctionCall",
"src": "2851:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "2851:37:4"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2829:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2836:3:4",
"type": ""
}
],
"src": "2776:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3046:220:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3056:74:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3122:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3127:2:4",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3063:58:4"
},
"nodeType": "YulFunctionCall",
"src": "3063:67:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3056:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3228:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb",
"nodeType": "YulIdentifier",
"src": "3139:88:4"
},
"nodeType": "YulFunctionCall",
"src": "3139:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "3139:93:4"
},
{
"nodeType": "YulAssignment",
"src": "3241:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3252:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3257:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3248:3:4"
},
"nodeType": "YulFunctionCall",
"src": "3248:12:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3241:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3034:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3042:3:4",
"type": ""
}
],
"src": "2900:366:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3418:220:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3428:74:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3494:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3499:2:4",
"type": "",
"value": "29"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3435:58:4"
},
"nodeType": "YulFunctionCall",
"src": "3435:67:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3428:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3600:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58",
"nodeType": "YulIdentifier",
"src": "3511:88:4"
},
"nodeType": "YulFunctionCall",
"src": "3511:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "3511:93:4"
},
{
"nodeType": "YulAssignment",
"src": "3613:19:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3624:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3629:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3620:3:4"
},
"nodeType": "YulFunctionCall",
"src": "3620:12:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3613:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3406:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3414:3:4",
"type": ""
}
],
"src": "3272:366:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3807:235:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3817:90:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3900:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3905:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3824:75:4"
},
"nodeType": "YulFunctionCall",
"src": "3824:83:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3817:3:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4005:3:4"
}
],
"functionName": {
"name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"nodeType": "YulIdentifier",
"src": "3916:88:4"
},
"nodeType": "YulFunctionCall",
"src": "3916:93:4"
},
"nodeType": "YulExpressionStatement",
"src": "3916:93:4"
},
{
"nodeType": "YulAssignment",
"src": "4018:18:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4029:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4034:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4025:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4025:11:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4018:3:4"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3795:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3803:3:4",
"type": ""
}
],
"src": "3644:398:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4113:53:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4130:3:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4153:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "4135:17:4"
},
"nodeType": "YulFunctionCall",
"src": "4135:24:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4123:6:4"
},
"nodeType": "YulFunctionCall",
"src": "4123:37:4"
},
"nodeType": "YulExpressionStatement",
"src": "4123:37:4"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4101:5:4",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4108:3:4",
"type": ""
}
],
"src": "4048:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4360:191:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4371:154:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4521:3:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "4378:141:4"
},
"nodeType": "YulFunctionCall",
"src": "4378:147:4"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4371:3:4"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4535:10:4",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4542:3:4"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4535:3:4"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4347:3:4",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4356:3:4",
"type": ""
}
],
"src": "4172:379:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4655:124:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4665:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4677:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4688:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4673:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4673:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4665:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4745:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4758:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4769:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4754:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4754:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4701:43:4"
},
"nodeType": "YulFunctionCall",
"src": "4701:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "4701:71:4"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4627:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4639:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4650:4:4",
"type": ""
}
],
"src": "4557:222:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4939:288:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4949:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4961:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4972:2:4",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4957:3:4"
},
"nodeType": "YulFunctionCall",
"src": "4957:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4949:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5029:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5042:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5053:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5038:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5038:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "4985:43:4"
},
"nodeType": "YulFunctionCall",
"src": "4985:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "4985:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5110:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5123:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5134:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5119:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5119:18:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5066:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5066:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5066:72:4"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5192:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5205:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5216:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5201:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5201:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5148:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5148:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5148:72:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4895:9:4",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4907:6:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4915:6:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4923:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4934:4:4",
"type": ""
}
],
"src": "4785:442:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5359:206:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5369:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5381:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5392:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5377:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5377:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5369:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5449:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5462:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5473:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5458:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5458:17:4"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5405:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5405:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "5405:71:4"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5530:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5543:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5554:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5539:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5539:18:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5486:43:4"
},
"nodeType": "YulFunctionCall",
"src": "5486:72:4"
},
"nodeType": "YulExpressionStatement",
"src": "5486:72:4"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5323:9:4",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5335:6:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5343:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5354:4:4",
"type": ""
}
],
"src": "5233:332:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5742:248:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5752:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5764:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5775:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5760:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5760:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5752:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5799:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5810:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5795:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5795:17:4"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5818:4:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5824:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5814:3:4"
},
"nodeType": "YulFunctionCall",
"src": "5814:20:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5788:6:4"
},
"nodeType": "YulFunctionCall",
"src": "5788:47:4"
},
"nodeType": "YulExpressionStatement",
"src": "5788:47:4"
},
{
"nodeType": "YulAssignment",
"src": "5844:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5978:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5852:124:4"
},
"nodeType": "YulFunctionCall",
"src": "5852:131:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5844:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5722:9:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5737:4:4",
"type": ""
}
],
"src": "5571:419:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6167:248:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6177:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6189:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6200:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6185:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6185:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6177:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6224:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6235:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6220:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6220:17:4"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6243:4:4"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6249:9:4"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6239:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6239:20:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6213:6:4"
},
"nodeType": "YulFunctionCall",
"src": "6213:47:4"
},
"nodeType": "YulExpressionStatement",
"src": "6213:47:4"
},
{
"nodeType": "YulAssignment",
"src": "6269:139:4",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6403:4:4"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6277:124:4"
},
"nodeType": "YulFunctionCall",
"src": "6277:131:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6269:4:4"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6147:9:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6162:4:4",
"type": ""
}
],
"src": "5996:419:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6519:124:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6529:26:4",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6541:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6552:2:4",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6537:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6537:18:4"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6529:4:4"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6609:6:4"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6622:9:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6633:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6618:3:4"
},
"nodeType": "YulFunctionCall",
"src": "6618:17:4"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "6565:43:4"
},
"nodeType": "YulFunctionCall",
"src": "6565:71:4"
},
"nodeType": "YulExpressionStatement",
"src": "6565:71:4"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6491:9:4",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6503:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6514:4:4",
"type": ""
}
],
"src": "6421:222:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6689:35:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6699:19:4",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6715:2:4",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6709:5:4"
},
"nodeType": "YulFunctionCall",
"src": "6709:9:4"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6699:6:4"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6682:6:4",
"type": ""
}
],
"src": "6649:75:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6843:34:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6853:18:4",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6868:3:4"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "6853:11:4"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6815:3:4",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6820:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "6831:11:4",
"type": ""
}
],
"src": "6730:147:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6979:73:4",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6996:3:4"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7001:6:4"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6989:6:4"
},
"nodeType": "YulFunctionCall",
"src": "6989:19:4"
},
"nodeType": "YulExpressionStatement",
"src": "6989:19:4"
},
{
"nodeType": "YulAssignment",
"src": "7017:29:4",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7036:3:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7041:4:4",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7032:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7032:14:4"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "7017:11:4"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6951:3:4",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6956:6:4",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "6967:11:4",
"type": ""
}
],
"src": "6883:169:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7103:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7113:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7142:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "7124:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7124:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7113:7:4"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7085:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7095:7:4",
"type": ""
}
],
"src": "7058:96:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7213:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7223:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7252:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "7234:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7234:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7223:7:4"
}
]
}
]
},
"name": "cleanup_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7195:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7205:7:4",
"type": ""
}
],
"src": "7160:104:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7312:48:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7322:32:4",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7347:5:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7340:6:4"
},
"nodeType": "YulFunctionCall",
"src": "7340:13:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7333:6:4"
},
"nodeType": "YulFunctionCall",
"src": "7333:21:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7322:7:4"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7294:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7304:7:4",
"type": ""
}
],
"src": "7270:90:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7424:51:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7434:35:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7463:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "7445:17:4"
},
"nodeType": "YulFunctionCall",
"src": "7445:24:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7434:7:4"
}
]
}
]
},
"name": "cleanup_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7406:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7416:7:4",
"type": ""
}
],
"src": "7366:109:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7526:81:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7536:65:4",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7551:5:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7558:42:4",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7547:3:4"
},
"nodeType": "YulFunctionCall",
"src": "7547:54:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7536:7:4"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7508:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7518:7:4",
"type": ""
}
],
"src": "7481:126:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7658:32:4",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7668:16:4",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "7679:5:4"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "7668:7:4"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7640:5:4",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "7650:7:4",
"type": ""
}
],
"src": "7613:77:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7785:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7802:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7805:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7795:6:4"
},
"nodeType": "YulFunctionCall",
"src": "7795:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "7795:12:4"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7696:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7908:28:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7925:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7928:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7918:6:4"
},
"nodeType": "YulFunctionCall",
"src": "7918:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "7918:12:4"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7819:117:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8048:64:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8070:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8078:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8066:3:4"
},
"nodeType": "YulFunctionCall",
"src": "8066:14:4"
},
{
"hexValue": "4661696c656420746f2073656e64204574686572",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8082:22:4",
"type": "",
"value": "Failed to send Ether"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8059:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8059:46:4"
},
"nodeType": "YulExpressionStatement",
"src": "8059:46:4"
}
]
},
"name": "store_literal_in_memory_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8040:6:4",
"type": ""
}
],
"src": "7942:170:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8224:77:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8246:6:4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8254:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8242:3:4"
},
"nodeType": "YulFunctionCall",
"src": "8242:14:4"
},
{
"hexValue": "596f7520646f6e27742068617665207375636820616d6f756e74203d28",
"kind": "string",
"nodeType": "YulLiteral",
"src": "8258:31:4",
"type": "",
"value": "You don't have such amount =("
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8235:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8235:55:4"
},
"nodeType": "YulExpressionStatement",
"src": "8235:55:4"
}
]
},
"name": "store_literal_in_memory_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8216:6:4",
"type": ""
}
],
"src": "8118:183:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8417:12:4",
"statements": []
},
"name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8409:6:4",
"type": ""
}
],
"src": "8311:118:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8482:87:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8543:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8552:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8555:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8545:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8545:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "8545:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8509:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8534:5:4"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "8516:17:4"
},
"nodeType": "YulFunctionCall",
"src": "8516:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8506:2:4"
},
"nodeType": "YulFunctionCall",
"src": "8506:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8499:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8499:43:4"
},
"nodeType": "YulIf",
"src": "8496:63:4"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8475:5:4",
"type": ""
}
],
"src": "8439:130:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8630:95:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8699:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8708:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8711:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8701:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8701:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "8701:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8657:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8690:5:4"
}
],
"functionName": {
"name": "cleanup_t_address_payable",
"nodeType": "YulIdentifier",
"src": "8664:25:4"
},
"nodeType": "YulFunctionCall",
"src": "8664:32:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8654:2:4"
},
"nodeType": "YulFunctionCall",
"src": "8654:43:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8647:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8647:51:4"
},
"nodeType": "YulIf",
"src": "8644:71:4"
}
]
},
"name": "validator_revert_t_address_payable",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8623:5:4",
"type": ""
}
],
"src": "8579:146:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8775:84:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8833:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8842:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8845:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8835:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8835:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "8835:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8802:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8824:5:4"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "8809:14:4"
},
"nodeType": "YulFunctionCall",
"src": "8809:21:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8799:2:4"
},
"nodeType": "YulFunctionCall",
"src": "8799:32:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8792:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8792:40:4"
},
"nodeType": "YulIf",
"src": "8789:60:4"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8768:5:4",
"type": ""
}
],
"src": "8735:124:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8925:100:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8999:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9008:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9011:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9001:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9001:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "9001:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8952:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8990:5:4"
}
],
"functionName": {
"name": "cleanup_t_contract$_IERC20_$77",
"nodeType": "YulIdentifier",
"src": "8959:30:4"
},
"nodeType": "YulFunctionCall",
"src": "8959:37:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "8949:2:4"
},
"nodeType": "YulFunctionCall",
"src": "8949:48:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "8942:6:4"
},
"nodeType": "YulFunctionCall",
"src": "8942:56:4"
},
"nodeType": "YulIf",
"src": "8939:76:4"
}
]
},
"name": "validator_revert_t_contract$_IERC20_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8918:5:4",
"type": ""
}
],
"src": "8869:156:4"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9078:87:4",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9139:16:4",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9148:1:4",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9151:1:4",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9141:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9141:12:4"
},
"nodeType": "YulExpressionStatement",
"src": "9141:12:4"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9105:5:4"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "9130:5:4"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "9112:17:4"
},
"nodeType": "YulFunctionCall",
"src": "9112:24:4"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9102:2:4"
},
"nodeType": "YulFunctionCall",
"src": "9102:35:4"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9095:6:4"
},
"nodeType": "YulFunctionCall",
"src": "9095:43:4"
},
"nodeType": "YulIf",
"src": "9092:63:4"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "9071:5:4",
"type": ""
}
],
"src": "9035:130:4"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\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_t_contract$_IERC20_$77(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_contract$_IERC20_$77(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address_payablet_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_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 abi_decode_tuple_t_contract$_IERC20_$77t_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_IERC20_$77(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\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_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_contract$_IERC20_$77(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function store_literal_in_memory_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb(memPtr) {\n\n mstore(add(memPtr, 0), \"Failed to send Ether\")\n\n }\n\n function store_literal_in_memory_4e273fcbcab78e20149e420121270547cbc960be768a55365438d224eb284e58(memPtr) {\n\n mstore(add(memPtr, 0), \"You don't have such amount =(\")\n\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\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 validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\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 validator_revert_t_contract$_IERC20_$77(value) {\n if iszero(eq(value, cleanup_t_contract$_IERC20_$77(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n }\n",
"id": 4,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100435760003560e01c806312065fe01461004c5780638da5cb5b14610077578063e4dc4f55146100a2578063f5537ede146100be5761004a565b3661004a57005b005b34801561005857600080fd5b506100616100e7565b60405161006e9190610628565b60405180910390f35b34801561008357600080fd5b5061008c6100ef565b604051610099919061056d565b60405180910390f35b6100bc60048036038101906100b791906103e4565b610113565b005b3480156100ca57600080fd5b506100e560048036038101906100e09190610451565b6101c7565b005b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808373ffffffffffffffffffffffffffffffffffffffff168360405161013a90610558565b60006040518083038185875af1925050503d8060008114610177576040519150601f19603f3d011682016040523d82523d6000602084013e61017c565b606091505b5091509150816101c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b8906105e8565b60405180910390fd5b50505050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610202919061056d565b60206040518083038186803b15801561021a57600080fd5b505afa15801561022e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025291906104a4565b905080821015610297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028e90610608565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016102d29291906105bf565b602060405180830381600087803b1580156102ec57600080fd5b505af1158015610300573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103249190610424565b507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e33848460405161035893929190610588565b60405180910390a150505050565b60008135905061037581610725565b92915050565b60008135905061038a8161073c565b92915050565b60008151905061039f81610753565b92915050565b6000813590506103b48161076a565b92915050565b6000813590506103c981610781565b92915050565b6000815190506103de81610781565b92915050565b600080604083850312156103fb576103fa6106cb565b5b60006104098582860161037b565b925050602061041a858286016103ba565b9150509250929050565b60006020828403121561043a576104396106cb565b5b600061044884828501610390565b91505092915050565b60008060006060848603121561046a576104696106cb565b5b6000610478868287016103a5565b935050602061048986828701610366565b925050604061049a868287016103ba565b9150509250925092565b6000602082840312156104ba576104b96106cb565b5b60006104c8848285016103cf565b91505092915050565b6104da8161065f565b82525050565b60006104ed60148361064e565b91506104f8826106d0565b602082019050919050565b6000610510601d8361064e565b915061051b826106f9565b602082019050919050565b6000610533600083610643565b915061053e82610722565b600082019050919050565b610552816106c1565b82525050565b600061056382610526565b9150819050919050565b600060208201905061058260008301846104d1565b92915050565b600060608201905061059d60008301866104d1565b6105aa60208301856104d1565b6105b76040830184610549565b949350505050565b60006040820190506105d460008301856104d1565b6105e16020830184610549565b9392505050565b60006020820190508181036000830152610601816104e0565b9050919050565b6000602082019050818103600083015261062181610503565b9050919050565b600060208201905061063d6000830184610549565b92915050565b600081905092915050565b600082825260208201905092915050565b600061066a826106a1565b9050919050565b600061067c826106a1565b9050919050565b60008115159050919050565b600061069a8261065f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f596f7520646f6e27742068617665207375636820616d6f756e74203d28000000600082015250565b50565b61072e8161065f565b811461073957600080fd5b50565b61074581610671565b811461075057600080fd5b50565b61075c81610683565b811461076757600080fd5b50565b6107738161068f565b811461077e57600080fd5b50565b61078a816106c1565b811461079557600080fd5b5056fea264697066735822122003fdae295b8fd780856df3fb77f95464e271c304e816143d74d822338883897e64736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x43 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x4C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0xE4DC4F55 EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0xF5537EDE EQ PUSH2 0xBE JUMPI PUSH2 0x4A JUMP JUMPDEST CALLDATASIZE PUSH2 0x4A JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x61 PUSH2 0xE7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x628 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8C PUSH2 0xEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x56D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB7 SWAP2 SWAP1 PUSH2 0x3E4 JUMP JUMPDEST PUSH2 0x113 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x451 JUMP JUMPDEST PUSH2 0x1C7 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x13A SWAP1 PUSH2 0x558 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x17C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1B8 SWAP1 PUSH2 0x5E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x202 SWAP2 SWAP1 PUSH2 0x56D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x22E 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 0x252 SWAP2 SWAP1 PUSH2 0x4A4 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0x297 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x28E SWAP1 PUSH2 0x608 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP5 DUP5 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D2 SWAP3 SWAP2 SWAP1 PUSH2 0x5BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x300 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 0x324 SWAP2 SWAP1 PUSH2 0x424 JUMP JUMPDEST POP PUSH32 0xFDA3A3E0E1479B43CB1C701F7576187F4C4AD80768D627387E00184302F7D88E CALLER DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x358 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x588 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x375 DUP2 PUSH2 0x725 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x38A DUP2 PUSH2 0x73C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x39F DUP2 PUSH2 0x753 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3B4 DUP2 PUSH2 0x76A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C9 DUP2 PUSH2 0x781 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x3DE DUP2 PUSH2 0x781 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3FB JUMPI PUSH2 0x3FA PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x409 DUP6 DUP3 DUP7 ADD PUSH2 0x37B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x41A DUP6 DUP3 DUP7 ADD PUSH2 0x3BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x43A JUMPI PUSH2 0x439 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x448 DUP5 DUP3 DUP6 ADD PUSH2 0x390 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x478 DUP7 DUP3 DUP8 ADD PUSH2 0x3A5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x489 DUP7 DUP3 DUP8 ADD PUSH2 0x366 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x49A DUP7 DUP3 DUP8 ADD PUSH2 0x3BA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4BA JUMPI PUSH2 0x4B9 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4C8 DUP5 DUP3 DUP6 ADD PUSH2 0x3CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4DA DUP2 PUSH2 0x65F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4ED PUSH1 0x14 DUP4 PUSH2 0x64E JUMP JUMPDEST SWAP2 POP PUSH2 0x4F8 DUP3 PUSH2 0x6D0 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x510 PUSH1 0x1D DUP4 PUSH2 0x64E JUMP JUMPDEST SWAP2 POP PUSH2 0x51B DUP3 PUSH2 0x6F9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x533 PUSH1 0x0 DUP4 PUSH2 0x643 JUMP JUMPDEST SWAP2 POP PUSH2 0x53E DUP3 PUSH2 0x722 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x552 DUP2 PUSH2 0x6C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x563 DUP3 PUSH2 0x526 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x582 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4D1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x59D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5AA PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5B7 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x5D4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x4D1 JUMP JUMPDEST PUSH2 0x5E1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x601 DUP2 PUSH2 0x4E0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x621 DUP2 PUSH2 0x503 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x63D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x549 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x66A DUP3 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x67C DUP3 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69A DUP3 PUSH2 0x65F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4661696C656420746F2073656E64204574686572000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F7520646F6E27742068617665207375636820616D6F756E74203D28000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x72E DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x739 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x745 DUP2 PUSH2 0x671 JUMP JUMPDEST DUP2 EQ PUSH2 0x750 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x75C DUP2 PUSH2 0x683 JUMP JUMPDEST DUP2 EQ PUSH2 0x767 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x773 DUP2 PUSH2 0x68F JUMP JUMPDEST DUP2 EQ PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x78A DUP2 PUSH2 0x6C1 JUMP JUMPDEST DUP2 EQ PUSH2 0x795 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB REVERT 0xAE 0x29 JUMPDEST DUP16 0xD7 DUP1 DUP6 PUSH14 0xF3FB77F95464E271C304E816143D PUSH21 0xD822338883897E64736F6C63430008070033000000 ",
"sourceMap": "127:1192:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;522:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;156:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;626:371;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1003:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;522:96;565:4;589:21;582:28;;522:96;:::o;156:20::-;;;;;;;;;;;;:::o;626:371::-;881:9;892:17;913:3;:8;;929:7;913:28;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;880:61;;;;960:4;952:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;697:300;;626:371;;:::o;1003:313::-;1087:20;1110:5;:15;;;1134:4;1110:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1087:53;;1170:12;1159:7;:23;;1151:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1227:5;:14;;;1242:3;1246:7;1227:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1270:38;1283:10;1295:3;1300:7;1270:38;;;;;;;;:::i;:::-;;;;;;;;1076:240;1003:313;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:137::-;367:5;398:6;392:13;383:22;;414:30;438:5;414:30;:::i;:::-;313:137;;;;:::o;456:165::-;515:5;553:6;540:20;531:29;;569:46;609:5;569:46;:::i;:::-;456:165;;;;:::o;627:139::-;673:5;711:6;698:20;689:29;;727:33;754:5;727:33;:::i;:::-;627:139;;;;:::o;772:143::-;829:5;860:6;854:13;845:22;;876:33;903:5;876:33;:::i;:::-;772:143;;;;:::o;921:490::-;997:6;1005;1054:2;1042:9;1033:7;1029:23;1025:32;1022:119;;;1060:79;;:::i;:::-;1022:119;1180:1;1205:61;1258:7;1249:6;1238:9;1234:22;1205:61;:::i;:::-;1195:71;;1151:125;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;921:490;;;;;:::o;1417:345::-;1484:6;1533:2;1521:9;1512:7;1508:23;1504:32;1501:119;;;1539:79;;:::i;:::-;1501:119;1659:1;1684:61;1737:7;1728:6;1717:9;1713:22;1684:61;:::i;:::-;1674:71;;1630:125;1417:345;;;;:::o;1768:645::-;1858:6;1866;1874;1923:2;1911:9;1902:7;1898:23;1894:32;1891:119;;;1929:79;;:::i;:::-;1891:119;2049:1;2074:66;2132:7;2123:6;2112:9;2108:22;2074:66;:::i;:::-;2064:76;;2020:130;2189:2;2215:53;2260:7;2251:6;2240:9;2236:22;2215:53;:::i;:::-;2205:63;;2160:118;2317:2;2343:53;2388:7;2379:6;2368:9;2364:22;2343:53;:::i;:::-;2333:63;;2288:118;1768:645;;;;;:::o;2419:351::-;2489:6;2538:2;2526:9;2517:7;2513:23;2509:32;2506:119;;;2544:79;;:::i;:::-;2506:119;2664:1;2689:64;2745:7;2736:6;2725:9;2721:22;2689:64;:::i;:::-;2679:74;;2635:128;2419:351;;;;:::o;2776:118::-;2863:24;2881:5;2863:24;:::i;:::-;2858:3;2851:37;2776:118;;:::o;2900:366::-;3042:3;3063:67;3127:2;3122:3;3063:67;:::i;:::-;3056:74;;3139:93;3228:3;3139:93;:::i;:::-;3257:2;3252:3;3248:12;3241:19;;2900:366;;;:::o;3272:::-;3414:3;3435:67;3499:2;3494:3;3435:67;:::i;:::-;3428:74;;3511:93;3600:3;3511:93;:::i;:::-;3629:2;3624:3;3620:12;3613:19;;3272:366;;;:::o;3644:398::-;3803:3;3824:83;3905:1;3900:3;3824:83;:::i;:::-;3817:90;;3916:93;4005:3;3916:93;:::i;:::-;4034:1;4029:3;4025:11;4018:18;;3644:398;;;:::o;4048:118::-;4135:24;4153:5;4135:24;:::i;:::-;4130:3;4123:37;4048:118;;:::o;4172:379::-;4356:3;4378:147;4521:3;4378:147;:::i;:::-;4371:154;;4542:3;4535:10;;4172:379;;;:::o;4557:222::-;4650:4;4688:2;4677:9;4673:18;4665:26;;4701:71;4769:1;4758:9;4754:17;4745:6;4701:71;:::i;:::-;4557:222;;;;:::o;4785:442::-;4934:4;4972:2;4961:9;4957:18;4949:26;;4985:71;5053:1;5042:9;5038:17;5029:6;4985:71;:::i;:::-;5066:72;5134:2;5123:9;5119:18;5110:6;5066:72;:::i;:::-;5148;5216:2;5205:9;5201:18;5192:6;5148:72;:::i;:::-;4785:442;;;;;;:::o;5233:332::-;5354:4;5392:2;5381:9;5377:18;5369:26;;5405:71;5473:1;5462:9;5458:17;5449:6;5405:71;:::i;:::-;5486:72;5554:2;5543:9;5539:18;5530:6;5486:72;:::i;:::-;5233:332;;;;;:::o;5571:419::-;5737:4;5775:2;5764:9;5760:18;5752:26;;5824:9;5818:4;5814:20;5810:1;5799:9;5795:17;5788:47;5852:131;5978:4;5852:131;:::i;:::-;5844:139;;5571:419;;;:::o;5996:::-;6162:4;6200:2;6189:9;6185:18;6177:26;;6249:9;6243:4;6239:20;6235:1;6224:9;6220:17;6213:47;6277:131;6403:4;6277:131;:::i;:::-;6269:139;;5996:419;;;:::o;6421:222::-;6514:4;6552:2;6541:9;6537:18;6529:26;;6565:71;6633:1;6622:9;6618:17;6609:6;6565:71;:::i;:::-;6421:222;;;;:::o;6730:147::-;6831:11;6868:3;6853:18;;6730:147;;;;:::o;6883:169::-;6967:11;7001:6;6996:3;6989:19;7041:4;7036:3;7032:14;7017:29;;6883:169;;;;:::o;7058:96::-;7095:7;7124:24;7142:5;7124:24;:::i;:::-;7113:35;;7058:96;;;:::o;7160:104::-;7205:7;7234:24;7252:5;7234:24;:::i;:::-;7223:35;;7160:104;;;:::o;7270:90::-;7304:7;7347:5;7340:13;7333:21;7322:32;;7270:90;;;:::o;7366:109::-;7416:7;7445:24;7463:5;7445:24;:::i;:::-;7434:35;;7366:109;;;:::o;7481:126::-;7518:7;7558:42;7551:5;7547:54;7536:65;;7481:126;;;:::o;7613:77::-;7650:7;7679:5;7668:16;;7613:77;;;:::o;7819:117::-;7928:1;7925;7918:12;7942:170;8082:22;8078:1;8070:6;8066:14;8059:46;7942:170;:::o;8118:183::-;8258:31;8254:1;8246:6;8242:14;8235:55;8118:183;:::o;8311:118::-;;:::o;8439:130::-;8516:24;8534:5;8516:24;:::i;:::-;8509:5;8506:35;8496:63;;8555:1;8552;8545:12;8496:63;8439:130;:::o;8579:146::-;8664:32;8690:5;8664:32;:::i;:::-;8657:5;8654:43;8644:71;;8711:1;8708;8701:12;8644:71;8579:146;:::o;8735:124::-;8809:21;8824:5;8809:21;:::i;:::-;8802:5;8799:32;8789:60;;8845:1;8842;8835:12;8789:60;8735:124;:::o;8869:156::-;8959:37;8990:5;8959:37;:::i;:::-;8952:5;8949:48;8939:76;;9011:1;9008;9001:12;8939:76;8869:156;:::o;9035:130::-;9112:24;9130:5;9112:24;:::i;:::-;9105:5;9102:35;9092:63;;9151:1;9148;9141:12;9092:63;9035:130;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "399600",
"executionCost": "24702",
"totalCost": "424302"
},
"external": {
"": "151",
"getBalance()": "317",
"owner()": "2511",
"sendViaCall(address,uint256)": "infinite",
"transferToken(address,address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"getBalance()": "12065fe0",
"owner()": "8da5cb5b",
"sendViaCall(address,uint256)": "e4dc4f55",
"transferToken(address,address,uint256)": "f5537ede"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "_dest",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "TransferSent",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "getBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "sendViaCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "transferToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}
View raw

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

This file has been truncated, but you can view the full file.
{
"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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_620": {
"entryPoint": null,
"id": 620,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108d5806100606000396000f3fe60806040526004361061004e5760003560e01c806312065fe0146100575780633aecd0e3146100825780638da5cb5b146100bf578063e4dc4f55146100ea578063f5537ede1461010657610055565b3661005557005b005b34801561006357600080fd5b5061006c61012f565b604051610079919061072f565b60405180910390f35b34801561008e57600080fd5b506100a960048036038101906100a4919061052b565b610137565b6040516100b6919061072f565b60405180910390f35b3480156100cb57600080fd5b506100d46101c9565b6040516100e19190610674565b60405180910390f35b61010460048036038101906100ff91906104be565b6101ed565b005b34801561011257600080fd5b5061012d60048036038101906101289190610558565b6102a1565b005b600047905090565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016101729190610674565b60206040518083038186803b15801561018a57600080fd5b505afa15801561019e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c291906105ab565b9050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808373ffffffffffffffffffffffffffffffffffffffff16836040516102149061065f565b60006040518083038185875af1925050503d8060008114610251576040519150601f19603f3d011682016040523d82523d6000602084013e610256565b606091505b50915091508161029b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610292906106ef565b60405180910390fd5b50505050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102dc9190610674565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c91906105ab565b905080821015610371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103689061070f565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016103ac9291906106c6565b602060405180830381600087803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fe91906104fe565b507ffda3a3e0e1479b43cb1c701f7576187f4c4ad80768d627387e00184302f7d88e3384846040516104329392919061068f565b60405180910390a150505050565b60008135905061044f8161082c565b92915050565b60008135905061046481610843565b92915050565b6000815190506104798161085a565b92915050565b60008135905061048e81610871565b92915050565b6000813590506104a381610888565b92915050565b6000815190506104b881610888565b92915050565b600080604083850312156104d5576104d46107d2565b5b60006104e385828601610455565b92505060206104f485828601610494565b9150509250929050565b600060208284031215610514576105136107d2565b5b60006105228482850161046a565b91505092915050565b600060208284031215610541576105406107d2565b5b600061054f8482850161047f565b91505092915050565b600080600060608486031215610571576105706107d2565b5b600061057f8682870161047f565b935050602061059086828701610440565b92505060406105a186828701610494565b9150509250925092565b6000602082840312156105c1576105c06107d2565b5b60006105cf848285016104a9565b91505092915050565b6105e181610766565b82525050565b60006105f4601483610755565b91506105ff826107d7565b602082019050919050565b6000610617601d83610755565b915061062282610800565b602082019050919050565b600061063a60008361074a565b915061064582610829565b600082019050919050565b610659816107c8565b82525050565b600061066a8261062d565b9150819050919050565b600060208201905061068960008301846105d8565b92915050565b60006060820190506106a460008301866105d8565b6106b160208301856105d8565b6106be6040830184610650565b949350505050565b60006040820190506106db60008301856105d8565b6106e86020830184610650565b9392505050565b60006020820190508181036000830152610708816105e7565b9050919050565b600060208201905081810360008301526107288161060a565b9050919050565b60006020820190506107446000830184610650565b92915050565b600081905092915050565b600082825260208201905092915050565b6000610771826107a8565b9050919050565b6000610783826107a8565b9050919050565b60008115159050919050565b60006107a182610766565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b7f596f7520646f6e27742068617665207375636820616d6f756e74203d28000000600082015250565b50565b61083581610766565b811461084057600080fd5b50565b61084c81610778565b811461085757600080fd5b50565b6108638161078a565b811461086e57600080fd5b50565b61087a81610796565b811461088557600080fd5b50565b610891816107c8565b811461089c57600080fd5b5056fea26469706673582212202e4c945457213eaede33311e39be43e8f7d768af71b57fca0abedc2b2ef127e464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8D5 DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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