Created
October 23, 2022 19:14
-
-
Save caoer/9842c6f4e0beea52733a36cdc895071c 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=
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "c041de928c6ecfbdf734b90e8444376f", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.7", | |
"solcLongVersion": "0.8.7+commit.e28d00a7", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/1_Storage.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.7;\n\nimport '@openzeppelin/contracts/token/ERC20/IERC20.sol';\nimport '@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol';\n\ncontract Ownable {\n address private _owner;\n\n constructor() {\n _owner = msg.sender;\n }\n\n function owner() public view returns (address) {\n return _owner;\n }\n\n modifier only_owner() {\n require(check_is_owner(), 'Error: Unauthorized access');\n _;\n }\n\n function check_is_owner() public view returns (bool) {\n return msg.sender == _owner;\n }\n}\n\ncontract TokenTransfer is Ownable {\n using SafeERC20 for IERC20;\n IERC20 _token;\n\n constructor(address token) {\n _token = IERC20(token);\n }\n\n event SettleInfoEvent(string settle);\n\n function depositTokens(\n address _to,\n uint256 _amount,\n string memory _settle\n ) public {\n _token.safeTransferFrom(msg.sender, _to, _amount);\n emit SettleInfoEvent(_settle);\n }\n}" | |
}, | |
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (token/ERC20/utils/SafeERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\nimport \"../extensions/draft-IERC20Permit.sol\";\nimport \"../../../utils/Address.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n using Address for address;\n\n function safeTransfer(\n IERC20 token,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\n }\n\n function safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value\n ) internal {\n _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\n }\n\n /**\n * @dev Deprecated. This function has issues similar to the ones found in\n * {IERC20-approve}, and its usage is discouraged.\n *\n * Whenever possible, use {safeIncreaseAllowance} and\n * {safeDecreaseAllowance} instead.\n */\n function safeApprove(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n // safeApprove should only be called when setting an initial allowance,\n // or when resetting it to zero. To increase and decrease it, use\n // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'\n require(\n (value == 0) || (token.allowance(address(this), spender) == 0),\n \"SafeERC20: approve from non-zero to non-zero allowance\"\n );\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\n }\n\n function safeIncreaseAllowance(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n uint256 newAllowance = token.allowance(address(this), spender) + value;\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n }\n\n function safeDecreaseAllowance(\n IERC20 token,\n address spender,\n uint256 value\n ) internal {\n unchecked {\n uint256 oldAllowance = token.allowance(address(this), spender);\n require(oldAllowance >= value, \"SafeERC20: decreased allowance below zero\");\n uint256 newAllowance = oldAllowance - value;\n _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));\n }\n }\n\n function safePermit(\n IERC20Permit token,\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal {\n uint256 nonceBefore = token.nonces(owner);\n token.permit(owner, spender, value, deadline, v, r, s);\n uint256 nonceAfter = token.nonces(owner);\n require(nonceAfter == nonceBefore + 1, \"SafeERC20: permit did not succeed\");\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since\n // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that\n // the target address contains contract code and also asserts for success in the low-level call.\n\n bytes memory returndata = address(token).functionCall(data, \"SafeERC20: low-level call failed\");\n if (returndata.length > 0) {\n // Return data is optional\n require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\");\n }\n }\n}\n" | |
}, | |
"@openzeppelin/contracts/token/ERC20/IERC20.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n" | |
}, | |
"@openzeppelin/contracts/utils/Address.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n" | |
}, | |
"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { | |
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n" | |
} | |
}, | |
"settings": { | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"outputSelection": { | |
"*": { | |
"": [ | |
"ast" | |
], | |
"*": [ | |
"abi", | |
"metadata", | |
"devdoc", | |
"userdoc", | |
"storageLayout", | |
"evm.legacyAssembly", | |
"evm.bytecode", | |
"evm.deployedBytecode", | |
"evm.methodIdentifiers", | |
"evm.gasEstimates", | |
"evm.assembly" | |
] | |
} | |
} | |
} | |
}, | |
"output": { | |
"contracts": { | |
"@openzeppelin/contracts/token/ERC20/IERC20.sol": { | |
"IERC20": { | |
"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": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"details": "Interface of the ERC20 standard as defined in the EIP.", | |
"events": { | |
"Approval(address,address,uint256)": { | |
"details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." | |
}, | |
"Transfer(address,address,uint256)": { | |
"details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." | |
} | |
}, | |
"kind": "dev", | |
"methods": { | |
"allowance(address,address)": { | |
"details": "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." | |
}, | |
"approve(address,uint256)": { | |
"details": "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." | |
}, | |
"balanceOf(address)": { | |
"details": "Returns the amount of tokens owned by `account`." | |
}, | |
"totalSupply()": { | |
"details": "Returns the amount of tokens in existence." | |
}, | |
"transfer(address,uint256)": { | |
"details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." | |
}, | |
"transferFrom(address,address,uint256)": { | |
"details": "Moves `amount` tokens from `from` to `to` 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." | |
} | |
}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": "", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"gasEstimates": null, | |
"legacyAssembly": null, | |
"methodIdentifiers": { | |
"allowance(address,address)": "dd62ed3e", | |
"approve(address,uint256)": "095ea7b3", | |
"balanceOf(address)": "70a08231", | |
"totalSupply()": "18160ddd", | |
"transfer(address,uint256)": "a9059cbb", | |
"transferFrom(address,address,uint256)": "23b872dd" | |
} | |
}, | |
"metadata": "{\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"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.\"},\"approve(address,uint256)\":{\"details\":\"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.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` 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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { | |
"IERC20Permit": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "DOMAIN_SEPARATOR", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
} | |
], | |
"name": "nonces", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "deadline", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint8", | |
"name": "v", | |
"type": "uint8" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "r", | |
"type": "bytes32" | |
}, | |
{ | |
"internalType": "bytes32", | |
"name": "s", | |
"type": "bytes32" | |
} | |
], | |
"name": "permit", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"details": "Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.", | |
"kind": "dev", | |
"methods": { | |
"DOMAIN_SEPARATOR()": { | |
"details": "Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." | |
}, | |
"nonces(address)": { | |
"details": "Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times." | |
}, | |
"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": { | |
"details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]." | |
} | |
}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": "", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"gasEstimates": null, | |
"legacyAssembly": null, | |
"methodIdentifiers": { | |
"DOMAIN_SEPARATOR()": "3644e515", | |
"nonces(address)": "7ecebe00", | |
"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { | |
"SafeERC20": { | |
"abi": [], | |
"devdoc": { | |
"details": "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.", | |
"kind": "dev", | |
"methods": {}, | |
"title": "SafeERC20", | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":707:4455 library SafeERC20 {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":707:4455 library SafeERC20 {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122085e46c778f38005b12cb04f36fb30f238dde89388c7a39d3334ba3ffff263a0f64736f6c63430008070033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085e46c778f38005b12cb04f36fb30f238dde89388c7a39d3334ba3ffff263a0f64736f6c63430008070033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP6 0xE4 PUSH13 0x778F38005B12CB04F36FB30F23 DUP14 0xDE DUP10 CODESIZE DUP13 PUSH27 0x39D3334BA3FFFF263A0F64736F6C63430008070033000000000000 ", | |
"sourceMap": "707:3748:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085e46c778f38005b12cb04f36fb30f238dde89388c7a39d3334ba3ffff263a0f64736f6c63430008070033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP6 0xE4 PUSH13 0x778F38005B12CB04F36FB30F23 DUP14 0xDE DUP10 CODESIZE DUP13 PUSH27 0x39D3334BA3FFFF263A0F64736F6C63430008070033000000000000 ", | |
"sourceMap": "707:3748:2:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"_callOptionalReturn(contract IERC20,bytes memory)": "infinite", | |
"safeApprove(contract IERC20,address,uint256)": "infinite", | |
"safeDecreaseAllowance(contract IERC20,address,uint256)": "infinite", | |
"safeIncreaseAllowance(contract IERC20,address,uint256)": "infinite", | |
"safePermit(contract IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32)": "infinite", | |
"safeTransfer(contract IERC20,address,uint256)": "infinite", | |
"safeTransferFrom(contract IERC20,address,address,uint256)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH #[$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH [$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "B" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "CODECOPY", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "BYTE", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "73" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "24" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "tag", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "ADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "73" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MSTORE8", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "RETURN", | |
"source": 2 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122085e46c778f38005b12cb04f36fb30f238dde89388c7a39d3334ba3ffff263a0f64736f6c63430008070033", | |
".code": [ | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "ADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "80" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 707, | |
"end": 4455, | |
"name": "REVERT", | |
"source": 2 | |
} | |
] | |
} | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"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.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6\",\"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"@openzeppelin/contracts/utils/Address.sol": { | |
"Address": { | |
"abi": [], | |
"devdoc": { | |
"details": "Collection of functions related to the address type", | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"@openzeppelin/contracts/utils/Address.sol\":194:8305 library Address {... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/utils/Address.sol\":194:8305 library Address {... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212205bc043d74995c745c5eb4bc39c4b63bcadd4bb71d1794837c0faf5c955640a4664736f6c63430008070033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205bc043d74995c745c5eb4bc39c4b63bcadd4bb71d1794837c0faf5c955640a4664736f6c63430008070033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPDEST 0xC0 NUMBER 0xD7 0x49 SWAP6 0xC7 GASLIMIT 0xC5 0xEB 0x4B 0xC3 SWAP13 0x4B PUSH4 0xBCADD4BB PUSH18 0xD1794837C0FAF5C955640A4664736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "194:8111:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205bc043d74995c745c5eb4bc39c4b63bcadd4bb71d1794837c0faf5c955640a4664736f6c63430008070033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPDEST 0xC0 NUMBER 0xD7 0x49 SWAP6 0xC7 GASLIMIT 0xC5 0xEB 0x4B 0xC3 SWAP13 0x4B PUSH4 0xBCADD4BB PUSH18 0xD1794837C0FAF5C955640A4664736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "194:8111:3:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"functionCall(address,bytes memory)": "infinite", | |
"functionCall(address,bytes memory,string memory)": "infinite", | |
"functionCallWithValue(address,bytes memory,uint256)": "infinite", | |
"functionCallWithValue(address,bytes memory,uint256,string memory)": "infinite", | |
"functionDelegateCall(address,bytes memory)": "infinite", | |
"functionDelegateCall(address,bytes memory,string memory)": "infinite", | |
"functionStaticCall(address,bytes memory)": "infinite", | |
"functionStaticCall(address,bytes memory,string memory)": "infinite", | |
"isContract(address)": "infinite", | |
"sendValue(address payable,uint256)": "infinite", | |
"verifyCallResult(bool,bytes memory,string memory)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH #[$]", | |
"source": 3, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH [$]", | |
"source": 3, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "B" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "CODECOPY", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "BYTE", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "73" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "1" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "24" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "tag", | |
"source": 3, | |
"value": "1" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "ADDRESS", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "73" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MSTORE8", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "RETURN", | |
"source": 3 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212205bc043d74995c745c5eb4bc39c4b63bcadd4bb71d1794837c0faf5c955640a4664736f6c63430008070033", | |
".code": [ | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "ADDRESS", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "80" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 194, | |
"end": 8305, | |
"name": "REVERT", | |
"source": 3 | |
} | |
] | |
} | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/1_Storage.sol": { | |
"Ownable": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "check_is_owner", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/1_Storage.sol\":182:545 contract Ownable {... */\n mstore(0x40, 0x80)\n /* \"contracts/1_Storage.sol\":230:274 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/1_Storage.sol\":259:269 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":250:256 _owner */\n 0x00\n dup1\n /* \"contracts/1_Storage.sol\":250:269 _owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/1_Storage.sol\":182:545 contract Ownable {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/1_Storage.sol\":182:545 contract Ownable {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x34d8c67a\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n tag_4:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n tag_6:\n /* \"contracts/1_Storage.sol\":499:503 bool */\n 0x00\n /* \"contracts/1_Storage.sol\":532:538 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":518:538 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":518:528 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":518:538 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/1_Storage.sol\":511:538 return msg.sender == _owner */\n swap1\n pop\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n swap1\n jump\t// out\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n tag_10:\n /* \"contracts/1_Storage.sol\":316:323 address */\n 0x00\n /* \"contracts/1_Storage.sol\":338:344 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":331:344 return _owner */\n swap1\n pop\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":7:125 */\n tag_16:\n /* \"#utility.yul\":94:118 */\n tag_18\n /* \"#utility.yul\":112:117 */\n dup2\n /* \"#utility.yul\":94:118 */\n tag_19\n jump\t// in\n tag_18:\n /* \"#utility.yul\":89:92 */\n dup3\n /* \"#utility.yul\":82:119 */\n mstore\n /* \"#utility.yul\":7:125 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":131:240 */\n tag_20:\n /* \"#utility.yul\":212:233 */\n tag_22\n /* \"#utility.yul\":227:232 */\n dup2\n /* \"#utility.yul\":212:233 */\n tag_23\n jump\t// in\n tag_22:\n /* \"#utility.yul\":207:210 */\n dup3\n /* \"#utility.yul\":200:234 */\n mstore\n /* \"#utility.yul\":131:240 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":246:468 */\n tag_12:\n /* \"#utility.yul\":339:343 */\n 0x00\n /* \"#utility.yul\":377:379 */\n 0x20\n /* \"#utility.yul\":366:375 */\n dup3\n /* \"#utility.yul\":362:380 */\n add\n /* \"#utility.yul\":354:380 */\n swap1\n pop\n /* \"#utility.yul\":390:461 */\n tag_25\n /* \"#utility.yul\":458:459 */\n 0x00\n /* \"#utility.yul\":447:456 */\n dup4\n /* \"#utility.yul\":443:460 */\n add\n /* \"#utility.yul\":434:440 */\n dup5\n /* \"#utility.yul\":390:461 */\n tag_16\n jump\t// in\n tag_25:\n /* \"#utility.yul\":246:468 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":474:684 */\n tag_8:\n /* \"#utility.yul\":561:565 */\n 0x00\n /* \"#utility.yul\":599:601 */\n 0x20\n /* \"#utility.yul\":588:597 */\n dup3\n /* \"#utility.yul\":584:602 */\n add\n /* \"#utility.yul\":576:602 */\n swap1\n pop\n /* \"#utility.yul\":612:677 */\n tag_27\n /* \"#utility.yul\":674:675 */\n 0x00\n /* \"#utility.yul\":663:672 */\n dup4\n /* \"#utility.yul\":659:676 */\n add\n /* \"#utility.yul\":650:656 */\n dup5\n /* \"#utility.yul\":612:677 */\n tag_20\n jump\t// in\n tag_27:\n /* \"#utility.yul\":474:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:786 */\n tag_19:\n /* \"#utility.yul\":727:734 */\n 0x00\n /* \"#utility.yul\":756:780 */\n tag_29\n /* \"#utility.yul\":774:779 */\n dup3\n /* \"#utility.yul\":756:780 */\n tag_30\n jump\t// in\n tag_29:\n /* \"#utility.yul\":745:780 */\n swap1\n pop\n /* \"#utility.yul\":690:786 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":792:882 */\n tag_23:\n /* \"#utility.yul\":826:833 */\n 0x00\n /* \"#utility.yul\":869:874 */\n dup2\n /* \"#utility.yul\":862:875 */\n iszero\n /* \"#utility.yul\":855:876 */\n iszero\n /* \"#utility.yul\":844:876 */\n swap1\n pop\n /* \"#utility.yul\":792:882 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":888:1014 */\n tag_30:\n /* \"#utility.yul\":925:932 */\n 0x00\n /* \"#utility.yul\":965:1007 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":958:963 */\n dup3\n /* \"#utility.yul\":954:1008 */\n and\n /* \"#utility.yul\":943:1008 */\n swap1\n pop\n /* \"#utility.yul\":888:1014 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212209891d8ef764abe52b63667e11ba123a6cf535e9a6bee6e3124d86777e8ec47e064736f6c63430008070033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_704": { | |
"entryPoint": null, | |
"id": 704, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101bf806100606000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806334d8c67a1461003b5780638da5cb5b14610059575b600080fd5b610043610077565b6040516100509190610130565b60405180910390f35b6100616100ce565b60405161006e9190610115565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101008161014b565b82525050565b61010f8161015d565b82525050565b600060208201905061012a60008301846100f7565b92915050565b60006020820190506101456000830184610106565b92915050565b600061015682610169565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff8216905091905056fea26469706673582212209891d8ef764abe52b63667e11ba123a6cf535e9a6bee6e3124d86777e8ec47e064736f6c63430008070033", | |
"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 0x1BF DUP1 PUSH2 0x60 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x34D8C67A EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x130 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0xCE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x10F DUP2 PUSH2 0x15D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x145 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x106 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x156 DUP3 PUSH2 0x169 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP9 SWAP2 0xD8 0xEF PUSH23 0x4ABE52B63667E11BA123A6CF535E9A6BEE6E3124D86777 0xE8 0xEC SELFBALANCE 0xE0 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "182:363:4:-:0;;;230:44;;;;;;;;;;259:10;250:6;;:19;;;;;;;;;;;;;;;;;;182:363;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@check_is_owner_733": { | |
"entryPoint": 119, | |
"id": 733, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@owner_712": { | |
"entryPoint": 206, | |
"id": 712, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 247, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 262, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 277, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { | |
"entryPoint": 304, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 331, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 349, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 361, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1017:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "72:53:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "89:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "112:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "94:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "94:24:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "82:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "82:37:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "82:37:5" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "60:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "67:3:5", | |
"type": "" | |
} | |
], | |
"src": "7:118:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "190:50:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "207:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "227:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "212:14:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "212:21:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "200:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "200:34:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "200:34:5" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "178:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "185:3:5", | |
"type": "" | |
} | |
], | |
"src": "131:109:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "344:124:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "354:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "366:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "377:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "362:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "362:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "354:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "434:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "447:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "458:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "443:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "443:17:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "390:43:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "390:71:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "390:71:5" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "316:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "328:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "339:4:5", | |
"type": "" | |
} | |
], | |
"src": "246:222:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "566:118:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "576:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "588:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "599:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "584:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "584:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "576:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "650:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "663:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "674:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "659:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "659:17:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "612:37:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "612:65:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "612:65:5" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "538:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "550:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "561:4:5", | |
"type": "" | |
} | |
], | |
"src": "474:210:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "735:51:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "745:35:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "774:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "756:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "756:24:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "745:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "717:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "727:7:5", | |
"type": "" | |
} | |
], | |
"src": "690:96:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "834:48:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "844:32:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "869:5:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "862:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "862:13:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "855:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "855:21:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "844:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "816:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "826:7:5", | |
"type": "" | |
} | |
], | |
"src": "792:90:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "933:81:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "943:65:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "958:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "965:42:5", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "954:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "954:54:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "943:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "915:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "925:7:5", | |
"type": "" | |
} | |
], | |
"src": "888:126:5" | |
} | |
] | |
}, | |
"contents": "{\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_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 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}\n", | |
"id": 5, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c806334d8c67a1461003b5780638da5cb5b14610059575b600080fd5b610043610077565b6040516100509190610130565b60405180910390f35b6100616100ce565b60405161006e9190610115565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101008161014b565b82525050565b61010f8161015d565b82525050565b600060208201905061012a60008301846100f7565b92915050565b60006020820190506101456000830184610106565b92915050565b600061015682610169565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff8216905091905056fea26469706673582212209891d8ef764abe52b63667e11ba123a6cf535e9a6bee6e3124d86777e8ec47e064736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x34D8C67A EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x77 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0x130 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x61 PUSH2 0xCE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x10F DUP2 PUSH2 0x15D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x145 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x106 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x156 DUP3 PUSH2 0x169 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP9 SWAP2 0xD8 0xEF PUSH23 0x4ABE52B63667E11BA123A6CF535E9A6BEE6E3124D86777 0xE8 0xEC SELFBALANCE 0xE0 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "182:363:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;452:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;278:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;452:91;499:4;532:6;;;;;;;;;;;518:20;;:10;:20;;;511:27;;452:91;:::o;278:71::-;316:7;338:6;;;;;;;;;;;331:13;;278:71;:::o;7:118:5:-;94:24;112:5;94:24;:::i;:::-;89:3;82:37;7:118;;:::o;131:109::-;212:21;227:5;212:21;:::i;:::-;207:3;200:34;131:109;;:::o;246:222::-;339:4;377:2;366:9;362:18;354:26;;390:71;458:1;447:9;443:17;434:6;390:71;:::i;:::-;246:222;;;;:::o;474:210::-;561:4;599:2;588:9;584:18;576:26;;612:65;674:1;663:9;659:17;650:6;612:65;:::i;:::-;474:210;;;;:::o;690:96::-;727:7;756:24;774:5;756:24;:::i;:::-;745:35;;690:96;;;:::o;792:90::-;826:7;869:5;862:13;855:21;844:32;;792:90;;;:::o;888:126::-;925:7;965:42;958:5;954:54;943:65;;888:126;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "89400", | |
"executionCost": "24401", | |
"totalCost": "113801" | |
}, | |
"external": { | |
"check_is_owner()": "2474", | |
"owner()": "2522" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "80" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "MSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "CALLVALUE", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "ISZERO", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "tag", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 230, | |
"end": 274, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 259, | |
"end": 269, | |
"name": "CALLER", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 256, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 250, | |
"end": 256, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "NOT", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP4", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "OR", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH #[$]", | |
"source": 4, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH [$]", | |
"source": 4, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "CODECOPY", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "RETURN", | |
"source": 4 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212209891d8ef764abe52b63667e11ba123a6cf535e9a6bee6e3124d86777e8ec47e064736f6c63430008070033", | |
".code": [ | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "80" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "MSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "CALLVALUE", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "ISZERO", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "tag", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "CALLDATASIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "LT", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "CALLDATALOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "E0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "SHR", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "34D8C67A" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "3" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "tag", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 182, | |
"end": 545, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "3" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "5" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "6" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "5" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "7" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "8" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "7" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "RETURN", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "9" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "10" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "9" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "11" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "12" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "11" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "RETURN", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "6" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 499, | |
"end": 503, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "DIV", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 528, | |
"name": "CALLER", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 511, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 511, | |
"end": 538, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "10" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 316, | |
"end": 323, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "DIV", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 331, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 331, | |
"end": 344, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7, | |
"end": 125, | |
"name": "tag", | |
"source": 5, | |
"value": "16" | |
}, | |
{ | |
"begin": 7, | |
"end": 125, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 94, | |
"end": 118, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "18" | |
}, | |
{ | |
"begin": 112, | |
"end": 117, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 94, | |
"end": 118, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "19" | |
}, | |
{ | |
"begin": 94, | |
"end": 118, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 94, | |
"end": 118, | |
"name": "tag", | |
"source": 5, | |
"value": "18" | |
}, | |
{ | |
"begin": 94, | |
"end": 118, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 89, | |
"end": 92, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 82, | |
"end": 119, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 125, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 125, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 125, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 131, | |
"end": 240, | |
"name": "tag", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 131, | |
"end": 240, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 212, | |
"end": 233, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "22" | |
}, | |
{ | |
"begin": 227, | |
"end": 232, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 212, | |
"end": 233, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "23" | |
}, | |
{ | |
"begin": 212, | |
"end": 233, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 212, | |
"end": 233, | |
"name": "tag", | |
"source": 5, | |
"value": "22" | |
}, | |
{ | |
"begin": 212, | |
"end": 233, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 207, | |
"end": 210, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 200, | |
"end": 234, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 131, | |
"end": 240, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 131, | |
"end": 240, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 131, | |
"end": 240, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "tag", | |
"source": 5, | |
"value": "12" | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 339, | |
"end": 343, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 377, | |
"end": 379, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 366, | |
"end": 375, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 362, | |
"end": 380, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 354, | |
"end": 380, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 354, | |
"end": 380, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 390, | |
"end": 461, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "25" | |
}, | |
{ | |
"begin": 458, | |
"end": 459, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 447, | |
"end": 456, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 443, | |
"end": 460, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 434, | |
"end": 440, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 390, | |
"end": 461, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "16" | |
}, | |
{ | |
"begin": 390, | |
"end": 461, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 390, | |
"end": 461, | |
"name": "tag", | |
"source": 5, | |
"value": "25" | |
}, | |
{ | |
"begin": 390, | |
"end": 461, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 468, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "tag", | |
"source": 5, | |
"value": "8" | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 561, | |
"end": 565, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 599, | |
"end": 601, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 588, | |
"end": 597, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 584, | |
"end": 602, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 576, | |
"end": 602, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 576, | |
"end": 602, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 612, | |
"end": 677, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "27" | |
}, | |
{ | |
"begin": 674, | |
"end": 675, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 663, | |
"end": 672, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 659, | |
"end": 676, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 650, | |
"end": 656, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 612, | |
"end": 677, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 612, | |
"end": 677, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 612, | |
"end": 677, | |
"name": "tag", | |
"source": 5, | |
"value": "27" | |
}, | |
{ | |
"begin": 612, | |
"end": 677, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 474, | |
"end": 684, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "tag", | |
"source": 5, | |
"value": "19" | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 734, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 756, | |
"end": 780, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "29" | |
}, | |
{ | |
"begin": 774, | |
"end": 779, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 756, | |
"end": 780, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "30" | |
}, | |
{ | |
"begin": 756, | |
"end": 780, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 756, | |
"end": 780, | |
"name": "tag", | |
"source": 5, | |
"value": "29" | |
}, | |
{ | |
"begin": 756, | |
"end": 780, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 745, | |
"end": 780, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 745, | |
"end": 780, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 690, | |
"end": 786, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "tag", | |
"source": 5, | |
"value": "23" | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 826, | |
"end": 833, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 869, | |
"end": 874, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 862, | |
"end": 875, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 855, | |
"end": 876, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 844, | |
"end": 876, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 844, | |
"end": 876, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 792, | |
"end": 882, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "tag", | |
"source": 5, | |
"value": "30" | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 925, | |
"end": 932, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 965, | |
"end": 1007, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 958, | |
"end": 963, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 954, | |
"end": 1008, | |
"name": "AND", | |
"source": 5 | |
}, | |
{ | |
"begin": 943, | |
"end": 1008, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 943, | |
"end": 1008, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 888, | |
"end": 1014, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
} | |
] | |
} | |
} | |
}, | |
"methodIdentifiers": { | |
"check_is_owner()": "34d8c67a", | |
"owner()": "8da5cb5b" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"check_is_owner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/1_Storage.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6\",\"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"contracts/1_Storage.sol\":{\"keccak256\":\"0x008e82e74d186413269aeb7ba261bb6fd43d0cba53e4dee3ccbcb2e3de8f3360\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eff17111efe274177248553709c0eef16b59e7132d91e4c04a4f0ad0700366f4\",\"dweb:/ipfs/QmSBCBd7ctuf1NRxwVBjp8vKd45XDfM6urYa6BSq3eNAEW\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 695, | |
"contract": "contracts/1_Storage.sol:Ownable", | |
"label": "_owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"TokenTransfer": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "token", | |
"type": "address" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "string", | |
"name": "settle", | |
"type": "string" | |
} | |
], | |
"name": "SettleInfoEvent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "check_is_owner", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "_to", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "_amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "string", | |
"name": "_settle", | |
"type": "string" | |
} | |
], | |
"name": "depositTokens", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/1_Storage.sol\":547:934 contract TokenTransfer is Ownable {... */\n mstore(0x40, 0x80)\n /* \"contracts/1_Storage.sol\":633:693 constructor(address token) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/1_Storage.sol\":259:269 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":250:256 _owner */\n 0x00\n dup1\n /* \"contracts/1_Storage.sol\":250:269 _owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/1_Storage.sol\":682:687 token */\n dup1\n /* \"contracts/1_Storage.sol\":666:672 _token */\n 0x01\n 0x00\n /* \"contracts/1_Storage.sol\":666:688 _token = IERC20(token) */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/1_Storage.sol\":633:693 constructor(address token) {... */\n pop\n /* \"contracts/1_Storage.sol\":547:934 contract TokenTransfer is Ownable {... */\n jump(tag_8)\n /* \"#utility.yul\":7:150 */\ntag_10:\n /* \"#utility.yul\":64:69 */\n 0x00\n /* \"#utility.yul\":95:101 */\n dup2\n /* \"#utility.yul\":89:102 */\n mload\n /* \"#utility.yul\":80:102 */\n swap1\n pop\n /* \"#utility.yul\":111:144 */\n tag_12\n /* \"#utility.yul\":138:143 */\n dup2\n /* \"#utility.yul\":111:144 */\n tag_13\n jump\t// in\ntag_12:\n /* \"#utility.yul\":7:150 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":156:507 */\ntag_3:\n /* \"#utility.yul\":226:232 */\n 0x00\n /* \"#utility.yul\":275:277 */\n 0x20\n /* \"#utility.yul\":263:272 */\n dup3\n /* \"#utility.yul\":254:261 */\n dup5\n /* \"#utility.yul\":250:273 */\n sub\n /* \"#utility.yul\":246:278 */\n slt\n /* \"#utility.yul\":243:362 */\n iszero\n tag_15\n jumpi\n /* \"#utility.yul\":281:360 */\n tag_16\n tag_17\n jump\t// in\ntag_16:\n /* \"#utility.yul\":243:362 */\ntag_15:\n /* \"#utility.yul\":401:402 */\n 0x00\n /* \"#utility.yul\":426:490 */\n tag_18\n /* \"#utility.yul\":482:489 */\n dup5\n /* \"#utility.yul\":473:479 */\n dup3\n /* \"#utility.yul\":462:471 */\n dup6\n /* \"#utility.yul\":458:480 */\n add\n /* \"#utility.yul\":426:490 */\n tag_10\n jump\t// in\ntag_18:\n /* \"#utility.yul\":416:490 */\n swap2\n pop\n /* \"#utility.yul\":372:500 */\n pop\n /* \"#utility.yul\":156:507 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":594:690 */\ntag_21:\n /* \"#utility.yul\":631:638 */\n 0x00\n /* \"#utility.yul\":660:684 */\n tag_23\n /* \"#utility.yul\":678:683 */\n dup3\n /* \"#utility.yul\":660:684 */\n tag_24\n jump\t// in\ntag_23:\n /* \"#utility.yul\":649:684 */\n swap1\n pop\n /* \"#utility.yul\":594:690 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":696:822 */\ntag_24:\n /* \"#utility.yul\":733:740 */\n 0x00\n /* \"#utility.yul\":773:815 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":766:771 */\n dup3\n /* \"#utility.yul\":762:816 */\n and\n /* \"#utility.yul\":751:816 */\n swap1\n pop\n /* \"#utility.yul\":696:822 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":951:1068 */\ntag_17:\n /* \"#utility.yul\":1060:1061 */\n 0x00\n /* \"#utility.yul\":1057:1058 */\n dup1\n /* \"#utility.yul\":1050:1062 */\n revert\n /* \"#utility.yul\":1074:1196 */\ntag_13:\n /* \"#utility.yul\":1147:1171 */\n tag_30\n /* \"#utility.yul\":1165:1170 */\n dup2\n /* \"#utility.yul\":1147:1171 */\n tag_21\n jump\t// in\ntag_30:\n /* \"#utility.yul\":1140:1145 */\n dup2\n /* \"#utility.yul\":1137:1172 */\n eq\n /* \"#utility.yul\":1127:1190 */\n tag_31\n jumpi\n /* \"#utility.yul\":1186:1187 */\n 0x00\n /* \"#utility.yul\":1183:1184 */\n dup1\n /* \"#utility.yul\":1176:1188 */\n revert\n /* \"#utility.yul\":1127:1190 */\ntag_31:\n /* \"#utility.yul\":1074:1196 */\n pop\n jump\t// out\n /* \"contracts/1_Storage.sol\":547:934 contract TokenTransfer is Ownable {... */\ntag_8:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/1_Storage.sol\":547:934 contract TokenTransfer is Ownable {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x34d8c67a\n eq\n tag_3\n jumpi\n dup1\n 0x484c2d97\n eq\n tag_4\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":738:932 function depositTokens(... */\n tag_4:\n tag_10\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n tag_13\n jump\t// in\n tag_10:\n stop\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n tag_7:\n /* \"contracts/1_Storage.sol\":499:503 bool */\n 0x00\n /* \"contracts/1_Storage.sol\":532:538 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":518:538 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":518:528 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":518:538 msg.sender == _owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/1_Storage.sol\":511:538 return msg.sender == _owner */\n swap1\n pop\n /* \"contracts/1_Storage.sol\":452:543 function check_is_owner() public view returns (bool) {... */\n swap1\n jump\t// out\n /* \"contracts/1_Storage.sol\":738:932 function depositTokens(... */\n tag_13:\n /* \"contracts/1_Storage.sol\":843:892 _token.safeTransferFrom(msg.sender, _to, _amount) */\n tag_20\n /* \"contracts/1_Storage.sol\":867:877 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":879:882 _to */\n dup5\n /* \"contracts/1_Storage.sol\":884:891 _amount */\n dup5\n /* \"contracts/1_Storage.sol\":843:849 _token */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":843:866 _token.safeTransferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n tag_21\n swap1\n /* \"contracts/1_Storage.sol\":843:892 _token.safeTransferFrom(msg.sender, _to, _amount) */\n swap4\n swap3\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_20:\n /* \"contracts/1_Storage.sol\":903:927 SettleInfoEvent(_settle) */\n 0x507b63b9389bc8a170fc6414c21bbabd354a33470e499cbfd5cbc2fd4a6cde38\n /* \"contracts/1_Storage.sol\":919:926 _settle */\n dup2\n /* \"contracts/1_Storage.sol\":903:927 SettleInfoEvent(_settle) */\n mload(0x40)\n tag_22\n swap2\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/1_Storage.sol\":738:932 function depositTokens(... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n tag_15:\n /* \"contracts/1_Storage.sol\":316:323 address */\n 0x00\n /* \"contracts/1_Storage.sol\":338:344 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":331:344 return _owner */\n swap1\n pop\n /* \"contracts/1_Storage.sol\":278:349 function owner() public view returns (address) {... */\n swap1\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":974:1215 function safeTransferFrom(... */\n tag_21:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1112:1208 _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)) */\n tag_26\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1132:1137 token */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1162:1189 token.transferFrom.selector */\n shl(0xe0, 0x23b872dd)\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1191:1195 from */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1197:1199 to */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1201:1206 value */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1139:1207 abi.encodeWithSelector(token.transferFrom.selector, from, to, value) */\n add(0x24, mload(0x40))\n tag_27\n swap4\n swap3\n swap2\n swap1\n tag_28\n jump\t// in\n tag_27:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n swap1\n not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n and\n 0x20\n dup3\n add\n dup1\n mload\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n dup4\n dup2\n dup4\n and\n or\n dup4\n mstore\n pop\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1112:1131 _callOptionalReturn */\n tag_29\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":1112:1208 _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)) */\n jump\t// in\n tag_26:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":974:1215 function safeTransferFrom(... */\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":3747:4453 function _callOptionalReturn(IERC20 token, bytes memory data) private {... */\n tag_29:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4166:4189 bytes memory returndata */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4192:4261 address(token).functionCall(data, \"SafeERC20: low-level call failed\") */\n tag_31\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4220:4224 data */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4192:4261 address(token).functionCall(data, \"SafeERC20: low-level call failed\") */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x20\n dup2\n mstore\n 0x20\n add\n 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564\n dup2\n mstore\n pop\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4200:4205 token */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4192:4219 address(token).functionCall */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n tag_32\n swap1\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4192:4261 address(token).functionCall(data, \"SafeERC20: low-level call failed\") */\n swap3\n swap2\n swap1\n 0xffffffff\n and\n jump\t// in\n tag_31:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4166:4261 bytes memory returndata = address(token).functionCall(data, \"SafeERC20: low-level call failed\") */\n swap1\n pop\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4295:4296 0 */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4275:4285 returndata */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4275:4292 returndata.length */\n mload\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4275:4296 returndata.length > 0 */\n gt\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4271:4447 if (returndata.length > 0) {... */\n iszero\n tag_33\n jumpi\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4370:4380 returndata */\n dup1\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4359:4389 abi.decode(returndata, (bool)) */\n dup1\n 0x20\n add\n swap1\n mload\n dup2\n add\n swap1\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4351:4436 require(abi.decode(returndata, (bool)), \"SafeERC20: ERC20 operation did not succeed\") */\n tag_36\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_37\n swap1\n tag_38\n jump\t// in\n tag_37:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_36:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":4271:4447 if (returndata.length > 0) {... */\n tag_33:\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":3817:4453 {... */\n pop\n /* \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":3747:4453 function _callOptionalReturn(IERC20 token, bytes memory data) private {... */\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Address.sol\":3861:4084 function functionCall(... */\n tag_32:\n /* \"@openzeppelin/contracts/utils/Address.sol\":3994:4006 bytes memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Address.sol\":4025:4077 functionCallWithValue(target, data, 0, errorMessage) */\n tag_40\n /* \"@openzeppelin/contracts/utils/Address.sol\":4047:4053 target */\n dup5\n /* \"@openzeppelin/contracts/utils/Address.sol\":4055:4059 data */\n dup5\n /* \"@openzeppelin/contracts/utils/Address.sol\":4061:4062 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Address.sol\":4064:4076 errorMessage */\n dup6\n /* \"@openzeppelin/contracts/utils/Address.sol\":4025:4046 functionCallWithValue */\n tag_41\n /* \"@openzeppelin/contracts/utils/Address.sol\":4025:4077 functionCallWithValue(target, data, 0, errorMessage) */\n jump\t// in\n tag_40:\n /* \"@openzeppelin/contracts/utils/Address.sol\":4018:4077 return functionCallWithValue(target, data, 0, errorMessage) */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Address.sol\":3861:4084 function functionCall(... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Address.sol\":4948:5447 function functionCallWithValue(... */\n tag_41:\n /* \"@openzeppelin/contracts/utils/Address.sol\":5113:5125 bytes memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Address.sol\":5170:5175 value */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":5145:5166 address(this).balance */\n selfbalance\n /* \"@openzeppelin/contracts/utils/Address.sol\":5145:5175 address(this).balance >= value */\n lt\n iszero\n /* \"@openzeppelin/contracts/utils/Address.sol\":5137:5218 require(address(this).balance >= value, \"Address: insufficient balance for call\") */\n tag_43\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_44\n swap1\n tag_45\n jump\t// in\n tag_44:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_43:\n /* \"@openzeppelin/contracts/utils/Address.sol\":5236:5254 isContract(target) */\n tag_46\n /* \"@openzeppelin/contracts/utils/Address.sol\":5247:5253 target */\n dup6\n /* \"@openzeppelin/contracts/utils/Address.sol\":5236:5246 isContract */\n tag_47\n /* \"@openzeppelin/contracts/utils/Address.sol\":5236:5254 isContract(target) */\n jump\t// in\n tag_46:\n /* \"@openzeppelin/contracts/utils/Address.sol\":5228:5288 require(isContract(target), \"Address: call to non-contract\") */\n tag_48\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_49\n swap1\n tag_50\n jump\t// in\n tag_49:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_48:\n /* \"@openzeppelin/contracts/utils/Address.sol\":5300:5312 bool success */\n 0x00\n /* \"@openzeppelin/contracts/utils/Address.sol\":5314:5337 bytes memory returndata */\n dup1\n /* \"@openzeppelin/contracts/utils/Address.sol\":5341:5347 target */\n dup7\n /* \"@openzeppelin/contracts/utils/Address.sol\":5341:5352 target.call */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"@openzeppelin/contracts/utils/Address.sol\":5360:5365 value */\n dup6\n /* \"@openzeppelin/contracts/utils/Address.sol\":5367:5371 data */\n dup8\n /* \"@openzeppelin/contracts/utils/Address.sol\":5341:5372 target.call{value: value}(data) */\n mload(0x40)\n tag_51\n swap2\n swap1\n tag_52\n jump\t// in\n tag_51:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup8\n gas\n call\n swap3\n pop\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_55\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_54)\n tag_55:\n 0x60\n swap2\n pop\n tag_54:\n pop\n /* \"@openzeppelin/contracts/utils/Address.sol\":5299:5372 (bool success, bytes memory returndata) = target.call{value: value}(data) */\n swap2\n pop\n swap2\n pop\n /* \"@openzeppelin/contracts/utils/Address.sol\":5389:5440 verifyCallResult(success, returndata, errorMessage) */\n tag_56\n /* \"@openzeppelin/contracts/utils/Address.sol\":5406:5413 success */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":5415:5425 returndata */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":5427:5439 errorMessage */\n dup7\n /* \"@openzeppelin/contracts/utils/Address.sol\":5389:5405 verifyCallResult */\n tag_57\n /* \"@openzeppelin/contracts/utils/Address.sol\":5389:5440 verifyCallResult(success, returndata, errorMessage) */\n jump\t// in\n tag_56:\n /* \"@openzeppelin/contracts/utils/Address.sol\":5382:5440 return verifyCallResult(success, returndata, errorMessage) */\n swap3\n pop\n pop\n pop\n /* \"@openzeppelin/contracts/utils/Address.sol\":4948:5447 function functionCallWithValue(... */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Address.sol\":1175:1495 function isContract(address account) internal view returns (bool) {... */\n tag_47:\n /* \"@openzeppelin/contracts/utils/Address.sol\":1235:1239 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Address.sol\":1487:1488 0 */\n dup1\n /* \"@openzeppelin/contracts/utils/Address.sol\":1465:1472 account */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":1465:1484 account.code.length */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n extcodesize\n /* \"@openzeppelin/contracts/utils/Address.sol\":1465:1488 account.code.length > 0 */\n gt\n /* \"@openzeppelin/contracts/utils/Address.sol\":1458:1488 return account.code.length > 0 */\n swap1\n pop\n /* \"@openzeppelin/contracts/utils/Address.sol\":1175:1495 function isContract(address account) internal view returns (bool) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/utils/Address.sol\":7561:8303 function verifyCallResult(... */\n tag_57:\n /* \"@openzeppelin/contracts/utils/Address.sol\":7707:7719 bytes memory */\n 0x60\n /* \"@openzeppelin/contracts/utils/Address.sol\":7735:7742 success */\n dup4\n /* \"@openzeppelin/contracts/utils/Address.sol\":7731:8297 if (success) {... */\n iszero\n tag_60\n jumpi\n /* \"@openzeppelin/contracts/utils/Address.sol\":7765:7775 returndata */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":7758:7775 return returndata */\n swap1\n pop\n jump(tag_59)\n /* \"@openzeppelin/contracts/utils/Address.sol\":7731:8297 if (success) {... */\n tag_60:\n /* \"@openzeppelin/contracts/utils/Address.sol\":7896:7897 0 */\n 0x00\n /* \"@openzeppelin/contracts/utils/Address.sol\":7876:7886 returndata */\n dup4\n /* \"@openzeppelin/contracts/utils/Address.sol\":7876:7893 returndata.length */\n mload\n /* \"@openzeppelin/contracts/utils/Address.sol\":7876:7897 returndata.length > 0 */\n gt\n /* \"@openzeppelin/contracts/utils/Address.sol\":7872:8287 if (returndata.length > 0) {... */\n iszero\n tag_62\n jumpi\n /* \"@openzeppelin/contracts/utils/Address.sol\":8120:8130 returndata */\n dup3\n /* \"@openzeppelin/contracts/utils/Address.sol\":8114:8131 mload(returndata) */\n mload\n /* \"@openzeppelin/contracts/utils/Address.sol\":8180:8195 returndata_size */\n dup1\n /* \"@openzeppelin/contracts/utils/Address.sol\":8167:8177 returndata */\n dup5\n /* \"@openzeppelin/contracts/utils/Address.sol\":8163:8165 32 */\n 0x20\n /* \"@openzeppelin/contracts/utils/Address.sol\":8159:8178 add(32, returndata) */\n add\n /* \"@openzeppelin/contracts/utils/Address.sol\":8152:8196 revert(add(32, returndata), returndata_size) */\n revert\n /* \"@openzeppelin/contracts/utils/Address.sol\":7872:8287 if (returndata.length > 0) {... */\n tag_62:\n /* \"@openzeppelin/contracts/utils/Address.sol\":8259:8271 errorMessage */\n dup2\n /* \"@openzeppelin/contracts/utils/Address.sol\":8252:8272 revert(errorMessage) */\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_64\n swap2\n swap1\n tag_23\n jump\t// in\n tag_64:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"@openzeppelin/contracts/utils/Address.sol\":7561:8303 function verifyCallResult(... */\n tag_59:\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:419 */\n tag_66:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_68\n /* \"#utility.yul\":126:175 */\n tag_69\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_70\n jump\t// in\n tag_69:\n /* \"#utility.yul\":110:176 */\n tag_71\n jump\t// in\n tag_68:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:363 */\n iszero\n tag_72\n jumpi\n /* \"#utility.yul\":282:361 */\n tag_73\n tag_74\n jump\t// in\n tag_73:\n /* \"#utility.yul\":251:363 */\n tag_72:\n /* \"#utility.yul\":372:413 */\n tag_75\n /* \"#utility.yul\":406:412 */\n dup5\n /* \"#utility.yul\":401:404 */\n dup3\n /* \"#utility.yul\":396:399 */\n dup6\n /* \"#utility.yul\":372:413 */\n tag_76\n jump\t// in\n tag_75:\n /* \"#utility.yul\":91:419 */\n pop\n /* \"#utility.yul\":7:419 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":425:564 */\n tag_77:\n /* \"#utility.yul\":471:476 */\n 0x00\n /* \"#utility.yul\":509:515 */\n dup2\n /* \"#utility.yul\":496:516 */\n calldataload\n /* \"#utility.yul\":487:516 */\n swap1\n pop\n /* \"#utility.yul\":525:558 */\n tag_79\n /* \"#utility.yul\":552:557 */\n dup2\n /* \"#utility.yul\":525:558 */\n tag_80\n jump\t// in\n tag_79:\n /* \"#utility.yul\":425:564 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":570:707 */\n tag_81:\n /* \"#utility.yul\":624:629 */\n 0x00\n /* \"#utility.yul\":655:661 */\n dup2\n /* \"#utility.yul\":649:662 */\n mload\n /* \"#utility.yul\":640:662 */\n swap1\n pop\n /* \"#utility.yul\":671:701 */\n tag_83\n /* \"#utility.yul\":695:700 */\n dup2\n /* \"#utility.yul\":671:701 */\n tag_84\n jump\t// in\n tag_83:\n /* \"#utility.yul\":570:707 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":727:1067 */\n tag_85:\n /* \"#utility.yul\":783:788 */\n 0x00\n /* \"#utility.yul\":832:835 */\n dup3\n /* \"#utility.yul\":825:829 */\n 0x1f\n /* \"#utility.yul\":817:823 */\n dup4\n /* \"#utility.yul\":813:830 */\n add\n /* \"#utility.yul\":809:836 */\n slt\n /* \"#utility.yul\":799:921 */\n tag_87\n jumpi\n /* \"#utility.yul\":840:919 */\n tag_88\n tag_89\n jump\t// in\n tag_88:\n /* \"#utility.yul\":799:921 */\n tag_87:\n /* \"#utility.yul\":957:963 */\n dup2\n /* \"#utility.yul\":944:964 */\n calldataload\n /* \"#utility.yul\":982:1061 */\n tag_90\n /* \"#utility.yul\":1057:1060 */\n dup5\n /* \"#utility.yul\":1049:1055 */\n dup3\n /* \"#utility.yul\":1042:1046 */\n 0x20\n /* \"#utility.yul\":1034:1040 */\n dup7\n /* \"#utility.yul\":1030:1047 */\n add\n /* \"#utility.yul\":982:1061 */\n tag_66\n jump\t// in\n tag_90:\n /* \"#utility.yul\":973:1061 */\n swap2\n pop\n /* \"#utility.yul\":789:1067 */\n pop\n /* \"#utility.yul\":727:1067 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1073:1212 */\n tag_91:\n /* \"#utility.yul\":1119:1124 */\n 0x00\n /* \"#utility.yul\":1157:1163 */\n dup2\n /* \"#utility.yul\":1144:1164 */\n calldataload\n /* \"#utility.yul\":1135:1164 */\n swap1\n pop\n /* \"#utility.yul\":1173:1206 */\n tag_93\n /* \"#utility.yul\":1200:1205 */\n dup2\n /* \"#utility.yul\":1173:1206 */\n tag_94\n jump\t// in\n tag_93:\n /* \"#utility.yul\":1073:1212 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1218:2017 */\n tag_12:\n /* \"#utility.yul\":1305:1311 */\n 0x00\n /* \"#utility.yul\":1313:1319 */\n dup1\n /* \"#utility.yul\":1321:1327 */\n 0x00\n /* \"#utility.yul\":1370:1372 */\n 0x60\n /* \"#utility.yul\":1358:1367 */\n dup5\n /* \"#utility.yul\":1349:1356 */\n dup7\n /* \"#utility.yul\":1345:1368 */\n sub\n /* \"#utility.yul\":1341:1373 */\n slt\n /* \"#utility.yul\":1338:1457 */\n iszero\n tag_96\n jumpi\n /* \"#utility.yul\":1376:1455 */\n tag_97\n tag_98\n jump\t// in\n tag_97:\n /* \"#utility.yul\":1338:1457 */\n tag_96:\n /* \"#utility.yul\":1496:1497 */\n 0x00\n /* \"#utility.yul\":1521:1574 */\n tag_99\n /* \"#utility.yul\":1566:1573 */\n dup7\n /* \"#utility.yul\":1557:1563 */\n dup3\n /* \"#utility.yul\":1546:1555 */\n dup8\n /* \"#utility.yul\":1542:1564 */\n add\n /* \"#utility.yul\":1521:1574 */\n tag_77\n jump\t// in\n tag_99:\n /* \"#utility.yul\":1511:1574 */\n swap4\n pop\n /* \"#utility.yul\":1467:1584 */\n pop\n /* \"#utility.yul\":1623:1625 */\n 0x20\n /* \"#utility.yul\":1649:1702 */\n tag_100\n /* \"#utility.yul\":1694:1701 */\n dup7\n /* \"#utility.yul\":1685:1691 */\n dup3\n /* \"#utility.yul\":1674:1683 */\n dup8\n /* \"#utility.yul\":1670:1692 */\n add\n /* \"#utility.yul\":1649:1702 */\n tag_91\n jump\t// in\n tag_100:\n /* \"#utility.yul\":1639:1702 */\n swap3\n pop\n /* \"#utility.yul\":1594:1712 */\n pop\n /* \"#utility.yul\":1779:1781 */\n 0x40\n /* \"#utility.yul\":1768:1777 */\n dup5\n /* \"#utility.yul\":1764:1782 */\n add\n /* \"#utility.yul\":1751:1783 */\n calldataload\n /* \"#utility.yul\":1810:1828 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1802:1808 */\n dup2\n /* \"#utility.yul\":1799:1829 */\n gt\n /* \"#utility.yul\":1796:1913 */\n iszero\n tag_101\n jumpi\n /* \"#utility.yul\":1832:1911 */\n tag_102\n tag_103\n jump\t// in\n tag_102:\n /* \"#utility.yul\":1796:1913 */\n tag_101:\n /* \"#utility.yul\":1937:2000 */\n tag_104\n /* \"#utility.yul\":1992:1999 */\n dup7\n /* \"#utility.yul\":1983:1989 */\n dup3\n /* \"#utility.yul\":1972:1981 */\n dup8\n /* \"#utility.yul\":1968:1990 */\n add\n /* \"#utility.yul\":1937:2000 */\n tag_85\n jump\t// in\n tag_104:\n /* \"#utility.yul\":1927:2000 */\n swap2\n pop\n /* \"#utility.yul\":1722:2010 */\n pop\n /* \"#utility.yul\":1218:2017 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":2023:2368 */\n tag_35:\n /* \"#utility.yul\":2090:2096 */\n 0x00\n /* \"#utility.yul\":2139:2141 */\n 0x20\n /* \"#utility.yul\":2127:2136 */\n dup3\n /* \"#utility.yul\":2118:2125 */\n dup5\n /* \"#utility.yul\":2114:2137 */\n sub\n /* \"#utility.yul\":2110:2142 */\n slt\n /* \"#utility.yul\":2107:2226 */\n iszero\n tag_106\n jumpi\n /* \"#utility.yul\":2145:2224 */\n tag_107\n tag_98\n jump\t// in\n tag_107:\n /* \"#utility.yul\":2107:2226 */\n tag_106:\n /* \"#utility.yul\":2265:2266 */\n 0x00\n /* \"#utility.yul\":2290:2351 */\n tag_108\n /* \"#utility.yul\":2343:2350 */\n dup5\n /* \"#utility.yul\":2334:2340 */\n dup3\n /* \"#utility.yul\":2323:2332 */\n dup6\n /* \"#utility.yul\":2319:2341 */\n add\n /* \"#utility.yul\":2290:2351 */\n tag_81\n jump\t// in\n tag_108:\n /* \"#utility.yul\":2280:2351 */\n swap2\n pop\n /* \"#utility.yul\":2236:2361 */\n pop\n /* \"#utility.yul\":2023:2368 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2374:2492 */\n tag_109:\n /* \"#utility.yul\":2461:2485 */\n tag_111\n /* \"#utility.yul\":2479:2484 */\n dup2\n /* \"#utility.yul\":2461:2485 */\n tag_112\n jump\t// in\n tag_111:\n /* \"#utility.yul\":2456:2459 */\n dup3\n /* \"#utility.yul\":2449:2486 */\n mstore\n /* \"#utility.yul\":2374:2492 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2498:2607 */\n tag_113:\n /* \"#utility.yul\":2579:2600 */\n tag_115\n /* \"#utility.yul\":2594:2599 */\n dup2\n /* \"#utility.yul\":2579:2600 */\n tag_116\n jump\t// in\n tag_115:\n /* \"#utility.yul\":2574:2577 */\n dup3\n /* \"#utility.yul\":2567:2601 */\n mstore\n /* \"#utility.yul\":2498:2607 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2613:2986 */\n tag_117:\n /* \"#utility.yul\":2717:2720 */\n 0x00\n /* \"#utility.yul\":2745:2783 */\n tag_119\n /* \"#utility.yul\":2777:2782 */\n dup3\n /* \"#utility.yul\":2745:2783 */\n tag_120\n jump\t// in\n tag_119:\n /* \"#utility.yul\":2799:2887 */\n tag_121\n /* \"#utility.yul\":2880:2886 */\n dup2\n /* \"#utility.yul\":2875:2878 */\n dup6\n /* \"#utility.yul\":2799:2887 */\n tag_122\n jump\t// in\n tag_121:\n /* \"#utility.yul\":2792:2887 */\n swap4\n pop\n /* \"#utility.yul\":2896:2948 */\n tag_123\n /* \"#utility.yul\":2941:2947 */\n dup2\n /* \"#utility.yul\":2936:2939 */\n dup6\n /* \"#utility.yul\":2929:2933 */\n 0x20\n /* \"#utility.yul\":2922:2927 */\n dup7\n /* \"#utility.yul\":2918:2934 */\n add\n /* \"#utility.yul\":2896:2948 */\n tag_124\n jump\t// in\n tag_123:\n /* \"#utility.yul\":2973:2979 */\n dup1\n /* \"#utility.yul\":2968:2971 */\n dup5\n /* \"#utility.yul\":2964:2980 */\n add\n /* \"#utility.yul\":2957:2980 */\n swap2\n pop\n /* \"#utility.yul\":2721:2986 */\n pop\n /* \"#utility.yul\":2613:2986 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2992:3356 */\n tag_125:\n /* \"#utility.yul\":3080:3083 */\n 0x00\n /* \"#utility.yul\":3108:3147 */\n tag_127\n /* \"#utility.yul\":3141:3146 */\n dup3\n /* \"#utility.yul\":3108:3147 */\n tag_128\n jump\t// in\n tag_127:\n /* \"#utility.yul\":3163:3234 */\n tag_129\n /* \"#utility.yul\":3227:3233 */\n dup2\n /* \"#utility.yul\":3222:3225 */\n dup6\n /* \"#utility.yul\":3163:3234 */\n tag_130\n jump\t// in\n tag_129:\n /* \"#utility.yul\":3156:3234 */\n swap4\n pop\n /* \"#utility.yul\":3243:3295 */\n tag_131\n /* \"#utility.yul\":3288:3294 */\n dup2\n /* \"#utility.yul\":3283:3286 */\n dup6\n /* \"#utility.yul\":3276:3280 */\n 0x20\n /* \"#utility.yul\":3269:3274 */\n dup7\n /* \"#utility.yul\":3265:3281 */\n add\n /* \"#utility.yul\":3243:3295 */\n tag_124\n jump\t// in\n tag_131:\n /* \"#utility.yul\":3320:3349 */\n tag_132\n /* \"#utility.yul\":3342:3348 */\n dup2\n /* \"#utility.yul\":3320:3349 */\n tag_133\n jump\t// in\n tag_132:\n /* \"#utility.yul\":3315:3318 */\n dup5\n /* \"#utility.yul\":3311:3350 */\n add\n /* \"#utility.yul\":3304:3350 */\n swap2\n pop\n /* \"#utility.yul\":3084:3356 */\n pop\n /* \"#utility.yul\":2992:3356 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3362:3728 */\n tag_134:\n /* \"#utility.yul\":3504:3507 */\n 0x00\n /* \"#utility.yul\":3525:3592 */\n tag_136\n /* \"#utility.yul\":3589:3591 */\n 0x26\n /* \"#utility.yul\":3584:3587 */\n dup4\n /* \"#utility.yul\":3525:3592 */\n tag_130\n jump\t// in\n tag_136:\n /* \"#utility.yul\":3518:3592 */\n swap2\n pop\n /* \"#utility.yul\":3601:3694 */\n tag_137\n /* \"#utility.yul\":3690:3693 */\n dup3\n /* \"#utility.yul\":3601:3694 */\n tag_138\n jump\t// in\n tag_137:\n /* \"#utility.yul\":3719:3721 */\n 0x40\n /* \"#utility.yul\":3714:3717 */\n dup3\n /* \"#utility.yul\":3710:3722 */\n add\n /* \"#utility.yul\":3703:3722 */\n swap1\n pop\n /* \"#utility.yul\":3362:3728 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3734:4100 */\n tag_139:\n /* \"#utility.yul\":3876:3879 */\n 0x00\n /* \"#utility.yul\":3897:3964 */\n tag_141\n /* \"#utility.yul\":3961:3963 */\n 0x1d\n /* \"#utility.yul\":3956:3959 */\n dup4\n /* \"#utility.yul\":3897:3964 */\n tag_130\n jump\t// in\n tag_141:\n /* \"#utility.yul\":3890:3964 */\n swap2\n pop\n /* \"#utility.yul\":3973:4066 */\n tag_142\n /* \"#utility.yul\":4062:4065 */\n dup3\n /* \"#utility.yul\":3973:4066 */\n tag_143\n jump\t// in\n tag_142:\n /* \"#utility.yul\":4091:4093 */\n 0x20\n /* \"#utility.yul\":4086:4089 */\n dup3\n /* \"#utility.yul\":4082:4094 */\n add\n /* \"#utility.yul\":4075:4094 */\n swap1\n pop\n /* \"#utility.yul\":3734:4100 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4106:4472 */\n tag_144:\n /* \"#utility.yul\":4248:4251 */\n 0x00\n /* \"#utility.yul\":4269:4336 */\n tag_146\n /* \"#utility.yul\":4333:4335 */\n 0x2a\n /* \"#utility.yul\":4328:4331 */\n dup4\n /* \"#utility.yul\":4269:4336 */\n tag_130\n jump\t// in\n tag_146:\n /* \"#utility.yul\":4262:4336 */\n swap2\n pop\n /* \"#utility.yul\":4345:4438 */\n tag_147\n /* \"#utility.yul\":4434:4437 */\n dup3\n /* \"#utility.yul\":4345:4438 */\n tag_148\n jump\t// in\n tag_147:\n /* \"#utility.yul\":4463:4465 */\n 0x40\n /* \"#utility.yul\":4458:4461 */\n dup3\n /* \"#utility.yul\":4454:4466 */\n add\n /* \"#utility.yul\":4447:4466 */\n swap1\n pop\n /* \"#utility.yul\":4106:4472 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4478:4596 */\n tag_149:\n /* \"#utility.yul\":4565:4589 */\n tag_151\n /* \"#utility.yul\":4583:4588 */\n dup2\n /* \"#utility.yul\":4565:4589 */\n tag_152\n jump\t// in\n tag_151:\n /* \"#utility.yul\":4560:4563 */\n dup3\n /* \"#utility.yul\":4553:4590 */\n mstore\n /* \"#utility.yul\":4478:4596 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4602:4873 */\n tag_52:\n /* \"#utility.yul\":4732:4735 */\n 0x00\n /* \"#utility.yul\":4754:4847 */\n tag_154\n /* \"#utility.yul\":4843:4846 */\n dup3\n /* \"#utility.yul\":4834:4840 */\n dup5\n /* \"#utility.yul\":4754:4847 */\n tag_117\n jump\t// in\n tag_154:\n /* \"#utility.yul\":4747:4847 */\n swap2\n pop\n /* \"#utility.yul\":4864:4867 */\n dup2\n /* \"#utility.yul\":4857:4867 */\n swap1\n pop\n /* \"#utility.yul\":4602:4873 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4879:5101 */\n tag_17:\n /* \"#utility.yul\":4972:4976 */\n 0x00\n /* \"#utility.yul\":5010:5012 */\n 0x20\n /* \"#utility.yul\":4999:5008 */\n dup3\n /* \"#utility.yul\":4995:5013 */\n add\n /* \"#utility.yul\":4987:5013 */\n swap1\n pop\n /* \"#utility.yul\":5023:5094 */\n tag_156\n /* \"#utility.yul\":5091:5092 */\n 0x00\n /* \"#utility.yul\":5080:5089 */\n dup4\n /* \"#utility.yul\":5076:5093 */\n add\n /* \"#utility.yul\":5067:5073 */\n dup5\n /* \"#utility.yul\":5023:5094 */\n tag_109\n jump\t// in\n tag_156:\n /* \"#utility.yul\":4879:5101 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5107:5549 */\n tag_28:\n /* \"#utility.yul\":5256:5260 */\n 0x00\n /* \"#utility.yul\":5294:5296 */\n 0x60\n /* \"#utility.yul\":5283:5292 */\n dup3\n /* \"#utility.yul\":5279:5297 */\n add\n /* \"#utility.yul\":5271:5297 */\n swap1\n pop\n /* \"#utility.yul\":5307:5378 */\n tag_158\n /* \"#utility.yul\":5375:5376 */\n 0x00\n /* \"#utility.yul\":5364:5373 */\n dup4\n /* \"#utility.yul\":5360:5377 */\n add\n /* \"#utility.yul\":5351:5357 */\n dup7\n /* \"#utility.yul\":5307:5378 */\n tag_109\n jump\t// in\n tag_158:\n /* \"#utility.yul\":5388:5460 */\n tag_159\n /* \"#utility.yul\":5456:5458 */\n 0x20\n /* \"#utility.yul\":5445:5454 */\n dup4\n /* \"#utility.yul\":5441:5459 */\n add\n /* \"#utility.yul\":5432:5438 */\n dup6\n /* \"#utility.yul\":5388:5460 */\n tag_109\n jump\t// in\n tag_159:\n /* \"#utility.yul\":5470:5542 */\n tag_160\n /* \"#utility.yul\":5538:5540 */\n 0x40\n /* \"#utility.yul\":5527:5536 */\n dup4\n /* \"#utility.yul\":5523:5541 */\n add\n /* \"#utility.yul\":5514:5520 */\n dup5\n /* \"#utility.yul\":5470:5542 */\n tag_149\n jump\t// in\n tag_160:\n /* \"#utility.yul\":5107:5549 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5555:5765 */\n tag_9:\n /* \"#utility.yul\":5642:5646 */\n 0x00\n /* \"#utility.yul\":5680:5682 */\n 0x20\n /* \"#utility.yul\":5669:5678 */\n dup3\n /* \"#utility.yul\":5665:5683 */\n add\n /* \"#utility.yul\":5657:5683 */\n swap1\n pop\n /* \"#utility.yul\":5693:5758 */\n tag_162\n /* \"#utility.yul\":5755:5756 */\n 0x00\n /* \"#utility.yul\":5744:5753 */\n dup4\n /* \"#utility.yul\":5740:5757 */\n add\n /* \"#utility.yul\":5731:5737 */\n dup5\n /* \"#utility.yul\":5693:5758 */\n tag_113\n jump\t// in\n tag_162:\n /* \"#utility.yul\":5555:5765 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5771:6084 */\n tag_23:\n /* \"#utility.yul\":5884:5888 */\n 0x00\n /* \"#utility.yul\":5922:5924 */\n 0x20\n /* \"#utility.yul\":5911:5920 */\n dup3\n /* \"#utility.yul\":5907:5925 */\n add\n /* \"#utility.yul\":5899:5925 */\n swap1\n pop\n /* \"#utility.yul\":5971:5980 */\n dup2\n /* \"#utility.yul\":5965:5969 */\n dup2\n /* \"#utility.yul\":5961:5981 */\n sub\n /* \"#utility.yul\":5957:5958 */\n 0x00\n /* \"#utility.yul\":5946:5955 */\n dup4\n /* \"#utility.yul\":5942:5959 */\n add\n /* \"#utility.yul\":5935:5982 */\n mstore\n /* \"#utility.yul\":5999:6077 */\n tag_164\n /* \"#utility.yul\":6072:6076 */\n dup2\n /* \"#utility.yul\":6063:6069 */\n dup5\n /* \"#utility.yul\":5999:6077 */\n tag_125\n jump\t// in\n tag_164:\n /* \"#utility.yul\":5991:6077 */\n swap1\n pop\n /* \"#utility.yul\":5771:6084 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6090:6509 */\n tag_45:\n /* \"#utility.yul\":6256:6260 */\n 0x00\n /* \"#utility.yul\":6294:6296 */\n 0x20\n /* \"#utility.yul\":6283:6292 */\n dup3\n /* \"#utility.yul\":6279:6297 */\n add\n /* \"#utility.yul\":6271:6297 */\n swap1\n pop\n /* \"#utility.yul\":6343:6352 */\n dup2\n /* \"#utility.yul\":6337:6341 */\n dup2\n /* \"#utility.yul\":6333:6353 */\n sub\n /* \"#utility.yul\":6329:6330 */\n 0x00\n /* \"#utility.yul\":6318:6327 */\n dup4\n /* \"#utility.yul\":6314:6331 */\n add\n /* \"#utility.yul\":6307:6354 */\n mstore\n /* \"#utility.yul\":6371:6502 */\n tag_166\n /* \"#utility.yul\":6497:6501 */\n dup2\n /* \"#utility.yul\":6371:6502 */\n tag_134\n jump\t// in\n tag_166:\n /* \"#utility.yul\":6363:6502 */\n swap1\n pop\n /* \"#utility.yul\":6090:6509 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6515:6934 */\n tag_50:\n /* \"#utility.yul\":6681:6685 */\n 0x00\n /* \"#utility.yul\":6719:6721 */\n 0x20\n /* \"#utility.yul\":6708:6717 */\n dup3\n /* \"#utility.yul\":6704:6722 */\n add\n /* \"#utility.yul\":6696:6722 */\n swap1\n pop\n /* \"#utility.yul\":6768:6777 */\n dup2\n /* \"#utility.yul\":6762:6766 */\n dup2\n /* \"#utility.yul\":6758:6778 */\n sub\n /* \"#utility.yul\":6754:6755 */\n 0x00\n /* \"#utility.yul\":6743:6752 */\n dup4\n /* \"#utility.yul\":6739:6756 */\n add\n /* \"#utility.yul\":6732:6779 */\n mstore\n /* \"#utility.yul\":6796:6927 */\n tag_168\n /* \"#utility.yul\":6922:6926 */\n dup2\n /* \"#utility.yul\":6796:6927 */\n tag_139\n jump\t// in\n tag_168:\n /* \"#utility.yul\":6788:6927 */\n swap1\n pop\n /* \"#utility.yul\":6515:6934 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6940:7359 */\n tag_38:\n /* \"#utility.yul\":7106:7110 */\n 0x00\n /* \"#utility.yul\":7144:7146 */\n 0x20\n /* \"#utility.yul\":7133:7142 */\n dup3\n /* \"#utility.yul\":7129:7147 */\n add\n /* \"#utility.yul\":7121:7147 */\n swap1\n pop\n /* \"#utility.yul\":7193:7202 */\n dup2\n /* \"#utility.yul\":7187:7191 */\n dup2\n /* \"#utility.yul\":7183:7203 */\n sub\n /* \"#utility.yul\":7179:7180 */\n 0x00\n /* \"#utility.yul\":7168:7177 */\n dup4\n /* \"#utility.yul\":7164:7181 */\n add\n /* \"#utility.yul\":7157:7204 */\n mstore\n /* \"#utility.yul\":7221:7352 */\n tag_170\n /* \"#utility.yul\":7347:7351 */\n dup2\n /* \"#utility.yul\":7221:7352 */\n tag_144\n jump\t// in\n tag_170:\n /* \"#utility.yul\":7213:7352 */\n swap1\n pop\n /* \"#utility.yul\":6940:7359 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7365:7494 */\n tag_71:\n /* \"#utility.yul\":7399:7405 */\n 0x00\n /* \"#utility.yul\":7426:7446 */\n tag_172\n tag_173\n jump\t// in\n tag_172:\n /* \"#utility.yul\":7416:7446 */\n swap1\n pop\n /* \"#utility.yul\":7455:7488 */\n tag_174\n /* \"#utility.yul\":7483:7487 */\n dup3\n /* \"#utility.yul\":7475:7481 */\n dup3\n /* \"#utility.yul\":7455:7488 */\n tag_175\n jump\t// in\n tag_174:\n /* \"#utility.yul\":7365:7494 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7500:7575 */\n tag_173:\n /* \"#utility.yul\":7533:7539 */\n 0x00\n /* \"#utility.yul\":7566:7568 */\n 0x40\n /* \"#utility.yul\":7560:7569 */\n mload\n /* \"#utility.yul\":7550:7569 */\n swap1\n pop\n /* \"#utility.yul\":7500:7575 */\n swap1\n jump\t// out\n /* \"#utility.yul\":7581:7889 */\n tag_70:\n /* \"#utility.yul\":7643:7647 */\n 0x00\n /* \"#utility.yul\":7733:7751 */\n 0xffffffffffffffff\n /* \"#utility.yul\":7725:7731 */\n dup3\n /* \"#utility.yul\":7722:7752 */\n gt\n /* \"#utility.yul\":7719:7775 */\n iszero\n tag_178\n jumpi\n /* \"#utility.yul\":7755:7773 */\n tag_179\n tag_180\n jump\t// in\n tag_179:\n /* \"#utility.yul\":7719:7775 */\n tag_178:\n /* \"#utility.yul\":7793:7822 */\n tag_181\n /* \"#utility.yul\":7815:7821 */\n dup3\n /* \"#utility.yul\":7793:7822 */\n tag_133\n jump\t// in\n tag_181:\n /* \"#utility.yul\":7785:7822 */\n swap1\n pop\n /* \"#utility.yul\":7877:7881 */\n 0x20\n /* \"#utility.yul\":7871:7875 */\n dup2\n /* \"#utility.yul\":7867:7882 */\n add\n /* \"#utility.yul\":7859:7882 */\n swap1\n pop\n /* \"#utility.yul\":7581:7889 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7895:7993 */\n tag_120:\n /* \"#utility.yul\":7946:7952 */\n 0x00\n /* \"#utility.yul\":7980:7985 */\n dup2\n /* \"#utility.yul\":7974:7986 */\n mload\n /* \"#utility.yul\":7964:7986 */\n swap1\n pop\n /* \"#utility.yul\":7895:7993 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7999:8098 */\n tag_128:\n /* \"#utility.yul\":8051:8057 */\n 0x00\n /* \"#utility.yul\":8085:8090 */\n dup2\n /* \"#utility.yul\":8079:8091 */\n mload\n /* \"#utility.yul\":8069:8091 */\n swap1\n pop\n /* \"#utility.yul\":7999:8098 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8104:8251 */\n tag_122:\n /* \"#utility.yul\":8205:8216 */\n 0x00\n /* \"#utility.yul\":8242:8245 */\n dup2\n /* \"#utility.yul\":8227:8245 */\n swap1\n pop\n /* \"#utility.yul\":8104:8251 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8257:8426 */\n tag_130:\n /* \"#utility.yul\":8341:8352 */\n 0x00\n /* \"#utility.yul\":8375:8381 */\n dup3\n /* \"#utility.yul\":8370:8373 */\n dup3\n /* \"#utility.yul\":8363:8382 */\n mstore\n /* \"#utility.yul\":8415:8419 */\n 0x20\n /* \"#utility.yul\":8410:8413 */\n dup3\n /* \"#utility.yul\":8406:8420 */\n add\n /* \"#utility.yul\":8391:8420 */\n swap1\n pop\n /* \"#utility.yul\":8257:8426 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8432:8528 */\n tag_112:\n /* \"#utility.yul\":8469:8476 */\n 0x00\n /* \"#utility.yul\":8498:8522 */\n tag_187\n /* \"#utility.yul\":8516:8521 */\n dup3\n /* \"#utility.yul\":8498:8522 */\n tag_188\n jump\t// in\n tag_187:\n /* \"#utility.yul\":8487:8522 */\n swap1\n pop\n /* \"#utility.yul\":8432:8528 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8534:8624 */\n tag_116:\n /* \"#utility.yul\":8568:8575 */\n 0x00\n /* \"#utility.yul\":8611:8616 */\n dup2\n /* \"#utility.yul\":8604:8617 */\n iszero\n /* \"#utility.yul\":8597:8618 */\n iszero\n /* \"#utility.yul\":8586:8618 */\n swap1\n pop\n /* \"#utility.yul\":8534:8624 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8630:8756 */\n tag_188:\n /* \"#utility.yul\":8667:8674 */\n 0x00\n /* \"#utility.yul\":8707:8749 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":8700:8705 */\n dup3\n /* \"#utility.yul\":8696:8750 */\n and\n /* \"#utility.yul\":8685:8750 */\n swap1\n pop\n /* \"#utility.yul\":8630:8756 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8762:8839 */\n tag_152:\n /* \"#utility.yul\":8799:8806 */\n 0x00\n /* \"#utility.yul\":8828:8833 */\n dup2\n /* \"#utility.yul\":8817:8833 */\n swap1\n pop\n /* \"#utility.yul\":8762:8839 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8845:8999 */\n tag_76:\n /* \"#utility.yul\":8929:8935 */\n dup3\n /* \"#utility.yul\":8924:8927 */\n dup2\n /* \"#utility.yul\":8919:8922 */\n dup4\n /* \"#utility.yul\":8906:8936 */\n calldatacopy\n /* \"#utility.yul\":8991:8992 */\n 0x00\n /* \"#utility.yul\":8982:8988 */\n dup4\n /* \"#utility.yul\":8977:8980 */\n dup4\n /* \"#utility.yul\":8973:8989 */\n add\n /* \"#utility.yul\":8966:8993 */\n mstore\n /* \"#utility.yul\":8845:8999 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9005:9312 */\n tag_124:\n /* \"#utility.yul\":9073:9074 */\n 0x00\n /* \"#utility.yul\":9083:9196 */\n tag_194:\n /* \"#utility.yul\":9097:9103 */\n dup4\n /* \"#utility.yul\":9094:9095 */\n dup2\n /* \"#utility.yul\":9091:9104 */\n lt\n /* \"#utility.yul\":9083:9196 */\n iszero\n tag_196\n jumpi\n /* \"#utility.yul\":9182:9183 */\n dup1\n /* \"#utility.yul\":9177:9180 */\n dup3\n /* \"#utility.yul\":9173:9184 */\n add\n /* \"#utility.yul\":9167:9185 */\n mload\n /* \"#utility.yul\":9163:9164 */\n dup2\n /* \"#utility.yul\":9158:9161 */\n dup5\n /* \"#utility.yul\":9154:9165 */\n add\n /* \"#utility.yul\":9147:9186 */\n mstore\n /* \"#utility.yul\":9119:9121 */\n 0x20\n /* \"#utility.yul\":9116:9117 */\n dup2\n /* \"#utility.yul\":9112:9122 */\n add\n /* \"#utility.yul\":9107:9122 */\n swap1\n pop\n /* \"#utility.yul\":9083:9196 */\n jump(tag_194)\n tag_196:\n /* \"#utility.yul\":9214:9220 */\n dup4\n /* \"#utility.yul\":9211:9212 */\n dup2\n /* \"#utility.yul\":9208:9221 */\n gt\n /* \"#utility.yul\":9205:9306 */\n iszero\n tag_197\n jumpi\n /* \"#utility.yul\":9294:9295 */\n 0x00\n /* \"#utility.yul\":9285:9291 */\n dup5\n /* \"#utility.yul\":9280:9283 */\n dup5\n /* \"#utility.yul\":9276:9292 */\n add\n /* \"#utility.yul\":9269:9296 */\n mstore\n /* \"#utility.yul\":9205:9306 */\n tag_197:\n /* \"#utility.yul\":9054:9312 */\n pop\n /* \"#utility.yul\":9005:9312 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9318:9599 */\n tag_175:\n /* \"#utility.yul\":9401:9428 */\n tag_199\n /* \"#utility.yul\":9423:9427 */\n dup3\n /* \"#utility.yul\":9401:9428 */\n tag_133\n jump\t// in\n tag_199:\n /* \"#utility.yul\":9393:9399 */\n dup2\n /* \"#utility.yul\":9389:9429 */\n add\n /* \"#utility.yul\":9531:9537 */\n dup2\n /* \"#utility.yul\":9519:9529 */\n dup2\n /* \"#utility.yul\":9516:9538 */\n lt\n /* \"#utility.yul\":9495:9513 */\n 0xffffffffffffffff\n /* \"#utility.yul\":9483:9493 */\n dup3\n /* \"#utility.yul\":9480:9514 */\n gt\n /* \"#utility.yul\":9477:9539 */\n or\n /* \"#utility.yul\":9474:9562 */\n iszero\n tag_200\n jumpi\n /* \"#utility.yul\":9542:9560 */\n tag_201\n tag_180\n jump\t// in\n tag_201:\n /* \"#utility.yul\":9474:9562 */\n tag_200:\n /* \"#utility.yul\":9582:9592 */\n dup1\n /* \"#utility.yul\":9578:9580 */\n 0x40\n /* \"#utility.yul\":9571:9593 */\n mstore\n /* \"#utility.yul\":9361:9599 */\n pop\n /* \"#utility.yul\":9318:9599 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":9605:9785 */\n tag_180:\n /* \"#utility.yul\":9653:9730 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":9650:9651 */\n 0x00\n /* \"#utility.yul\":9643:9731 */\n mstore\n /* \"#utility.yul\":9750:9754 */\n 0x41\n /* \"#utility.yul\":9747:9748 */\n 0x04\n /* \"#utility.yul\":9740:9755 */\n mstore\n /* \"#utility.yul\":9774:9778 */\n 0x24\n /* \"#utility.yul\":9771:9772 */\n 0x00\n /* \"#utility.yul\":9764:9779 */\n revert\n /* \"#utility.yul\":9791:9908 */\n tag_89:\n /* \"#utility.yul\":9900:9901 */\n 0x00\n /* \"#utility.yul\":9897:9898 */\n dup1\n /* \"#utility.yul\":9890:9902 */\n revert\n /* \"#utility.yul\":9914:10031 */\n tag_74:\n /* \"#utility.yul\":10023:10024 */\n 0x00\n /* \"#utility.yul\":10020:10021 */\n dup1\n /* \"#utility.yul\":10013:10025 */\n revert\n /* \"#utility.yul\":10037:10154 */\n tag_103:\n /* \"#utility.yul\":10146:10147 */\n 0x00\n /* \"#utility.yul\":10143:10144 */\n dup1\n /* \"#utility.yul\":10136:10148 */\n revert\n /* \"#utility.yul\":10160:10277 */\n tag_98:\n /* \"#utility.yul\":10269:10270 */\n 0x00\n /* \"#utility.yul\":10266:10267 */\n dup1\n /* \"#utility.yul\":10259:10271 */\n revert\n /* \"#utility.yul\":10283:10385 */\n tag_133:\n /* \"#utility.yul\":10324:10330 */\n 0x00\n /* \"#utility.yul\":10375:10377 */\n 0x1f\n /* \"#utility.yul\":10371:10378 */\n not\n /* \"#utility.yul\":10366:10368 */\n 0x1f\n /* \"#utility.yul\":10359:10364 */\n dup4\n /* \"#utility.yul\":10355:10369 */\n add\n /* \"#utility.yul\":10351:10379 */\n and\n /* \"#utility.yul\":10341:10379 */\n swap1\n pop\n /* \"#utility.yul\":10283:10385 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":10391:10616 */\n tag_138:\n /* \"#utility.yul\":10531:10565 */\n 0x416464726573733a20696e73756666696369656e742062616c616e636520666f\n /* \"#utility.yul\":10527:10528 */\n 0x00\n /* \"#utility.yul\":10519:10525 */\n dup3\n /* \"#utility.yul\":10515:10529 */\n add\n /* \"#utility.yul\":10508:10566 */\n mstore\n /* \"#utility.yul\":10600:10608 */\n 0x722063616c6c0000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":10595:10597 */\n 0x20\n /* \"#utility.yul\":10587:10593 */\n dup3\n /* \"#utility.yul\":10583:10598 */\n add\n /* \"#utility.yul\":10576:10609 */\n mstore\n /* \"#utility.yul\":10391:10616 */\n pop\n jump\t// out\n /* \"#utility.yul\":10622:10801 */\n tag_143:\n /* \"#utility.yul\":10762:10793 */\n 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000\n /* \"#utility.yul\":10758:10759 */\n 0x00\n /* \"#utility.yul\":10750:10756 */\n dup3\n /* \"#utility.yul\":10746:10760 */\n add\n /* \"#utility.yul\":10739:10794 */\n mstore\n /* \"#utility.yul\":10622:10801 */\n pop\n jump\t// out\n /* \"#utility.yul\":10807:11036 */\n tag_148:\n /* \"#utility.yul\":10947:10981 */\n 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e\n /* \"#utility.yul\":10943:10944 */\n 0x00\n /* \"#utility.yul\":10935:10941 */\n dup3\n /* \"#utility.yul\":10931:10945 */\n add\n /* \"#utility.yul\":10924:10982 */\n mstore\n /* \"#utility.yul\":11016:11028 */\n 0x6f74207375636365656400000000000000000000000000000000000000000000\n /* \"#utility.yul\":11011:11013 */\n 0x20\n /* \"#utility.yul\":11003:11009 */\n dup3\n /* \"#utility.yul\":10999:11014 */\n add\n /* \"#utility.yul\":10992:11029 */\n mstore\n /* \"#utility.yul\":10807:11036 */\n pop\n jump\t// out\n /* \"#utility.yul\":11042:11164 */\n tag_80:\n /* \"#utility.yul\":11115:11139 */\n tag_212\n /* \"#utility.yul\":11133:11138 */\n dup2\n /* \"#utility.yul\":11115:11139 */\n tag_112\n jump\t// in\n tag_212:\n /* \"#utility.yul\":11108:11113 */\n dup2\n /* \"#utility.yul\":11105:11140 */\n eq\n /* \"#utility.yul\":11095:11158 */\n tag_213\n jumpi\n /* \"#utility.yul\":11154:11155 */\n 0x00\n /* \"#utility.yul\":11151:11152 */\n dup1\n /* \"#utility.yul\":11144:11156 */\n revert\n /* \"#utility.yul\":11095:11158 */\n tag_213:\n /* \"#utility.yul\":11042:11164 */\n pop\n jump\t// out\n /* \"#utility.yul\":11170:11286 */\n tag_84:\n /* \"#utility.yul\":11240:11261 */\n tag_215\n /* \"#utility.yul\":11255:11260 */\n dup2\n /* \"#utility.yul\":11240:11261 */\n tag_116\n jump\t// in\n tag_215:\n /* \"#utility.yul\":11233:11238 */\n dup2\n /* \"#utility.yul\":11230:11262 */\n eq\n /* \"#utility.yul\":11220:11280 */\n tag_216\n jumpi\n /* \"#utility.yul\":11276:11277 */\n 0x00\n /* \"#utility.yul\":11273:11274 */\n dup1\n /* \"#utility.yul\":11266:11278 */\n revert\n /* \"#utility.yul\":11220:11280 */\n tag_216:\n /* \"#utility.yul\":11170:11286 */\n pop\n jump\t// out\n /* \"#utility.yul\":11292:11414 */\n tag_94:\n /* \"#utility.yul\":11365:11389 */\n tag_218\n /* \"#utility.yul\":11383:11388 */\n dup2\n /* \"#utility.yul\":11365:11389 */\n tag_152\n jump\t// in\n tag_218:\n /* \"#utility.yul\":11358:11363 */\n dup2\n /* \"#utility.yul\":11355:11390 */\n eq\n /* \"#utility.yul\":11345:11408 */\n tag_219\n jumpi\n /* \"#utility.yul\":11404:11405 */\n 0x00\n /* \"#utility.yul\":11401:11402 */\n dup1\n /* \"#utility.yul\":11394:11406 */\n revert\n /* \"#utility.yul\":11345:11408 */\n tag_219:\n /* \"#utility.yul\":11292:11414 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220cd1b56cb06d9b3d9420d4e313ac290524008f76b2b4075d04674004ac8db606564736f6c63430008070033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_704": { | |
"entryPoint": null, | |
"id": 704, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_755": { | |
"entryPoint": null, | |
"id": 755, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address_fromMemory": { | |
"entryPoint": 185, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address_fromMemory": { | |
"entryPoint": 206, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 251, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 269, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 301, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 306, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1199:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "70:80:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "80:22:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "95:6:5" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "89:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "89:13:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "80:5:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "138:5:5" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "111:26:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "111:33:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "111:33:5" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "48:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "56:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "64:5:5", | |
"type": "" | |
} | |
], | |
"src": "7:143:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "233:274:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "279:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "281:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "281:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "281:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "254:7:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "263:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "250:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "250:23:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "275:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "246:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "246:32:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "243:119:5" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "372:128:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "387:15:5", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "401:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "391:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "416:74:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "462:9:5" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "473:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "458:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "458:22:5" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "482:7:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "426:31:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "426:64:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "416:6:5" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "203:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "214:7:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "226:6:5", | |
"type": "" | |
} | |
], | |
"src": "156:351:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "553:35:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "563:19:5", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "579:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "573:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:9:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "563:6:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "546:6:5", | |
"type": "" | |
} | |
], | |
"src": "513:75:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "639:51:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "649:35:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "678:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "660:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "660:24:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "649:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "621:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "631:7:5", | |
"type": "" | |
} | |
], | |
"src": "594:96:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "741:81:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "751:65:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "766:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "773:42:5", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:54:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "751:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "723:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "733:7:5", | |
"type": "" | |
} | |
], | |
"src": "696:126:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "917:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "934:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "937:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "927:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "927:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "927:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "828:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1040:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1057:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1060:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1050:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1050:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1050:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "951:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1117:79:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1174:16:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1183:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1186:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1176:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1176:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1176:12:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1140:5:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1165:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1147:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1147:24:5" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1137:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1137:35:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1130:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1130:43:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "1127:63:5" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1110:5:5", | |
"type": "" | |
} | |
], | |
"src": "1074:122:5" | |
} | |
] | |
}, | |
"contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_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_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\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 validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 5, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50604051610c31380380610c31833981810160405281019061003291906100ce565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610149565b6000815190506100c881610132565b92915050565b6000602082840312156100e4576100e361012d565b5b60006100f2848285016100b9565b91505092915050565b60006101068261010d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b61013b816100fb565b811461014657600080fd5b50565b610ad9806101586000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806334d8c67a14610046578063484c2d97146100645780638da5cb5b14610080575b600080fd5b61004e61009e565b60405161005b9190610763565b60405180910390f35b61007e6004803603810190610079919061055e565b6100f5565b005b610088610180565b6040516100959190610711565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610144338484600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166101a9909392919063ffffffff16565b7f507b63b9389bc8a170fc6414c21bbabd354a33470e499cbfd5cbc2fd4a6cde3881604051610173919061077e565b60405180910390a1505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61022c846323b872dd60e01b8585856040516024016101ca9392919061072c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610232565b50505050565b6000610294826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166102f99092919063ffffffff16565b90506000815111156102f457808060200190518101906102b491906105cd565b6102f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ea906107e0565b60405180910390fd5b5b505050565b60606103088484600085610311565b90509392505050565b606082471015610356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034d906107a0565b60405180910390fd5b61035f85610425565b61039e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610395906107c0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103c791906106fa565b60006040518083038185875af1925050503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5091509150610419828286610448565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610458578290506104a8565b60008351111561046b5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f919061077e565b60405180910390fd5b9392505050565b60006104c26104bd84610825565b610800565b9050828152602081018484840111156104de576104dd610977565b5b6104e98482856108d0565b509392505050565b60008135905061050081610a5e565b92915050565b60008151905061051581610a75565b92915050565b600082601f8301126105305761052f610972565b5b81356105408482602086016104af565b91505092915050565b60008135905061055881610a8c565b92915050565b60008060006060848603121561057757610576610981565b5b6000610585868287016104f1565b935050602061059686828701610549565b925050604084013567ffffffffffffffff8111156105b7576105b661097c565b5b6105c38682870161051b565b9150509250925092565b6000602082840312156105e3576105e2610981565b5b60006105f184828501610506565b91505092915050565b61060381610888565b82525050565b6106128161089a565b82525050565b600061062382610856565b61062d818561086c565b935061063d8185602086016108df565b80840191505092915050565b600061065482610861565b61065e8185610877565b935061066e8185602086016108df565b61067781610986565b840191505092915050565b600061068f602683610877565b915061069a82610997565b604082019050919050565b60006106b2601d83610877565b91506106bd826109e6565b602082019050919050565b60006106d5602a83610877565b91506106e082610a0f565b604082019050919050565b6106f4816108c6565b82525050565b60006107068284610618565b915081905092915050565b600060208201905061072660008301846105fa565b92915050565b600060608201905061074160008301866105fa565b61074e60208301856105fa565b61075b60408301846106eb565b949350505050565b60006020820190506107786000830184610609565b92915050565b600060208201905081810360008301526107988184610649565b905092915050565b600060208201905081810360008301526107b981610682565b9050919050565b600060208201905081810360008301526107d9816106a5565b9050919050565b600060208201905081810360008301526107f9816106c8565b9050919050565b600061080a61081b565b90506108168282610912565b919050565b6000604051905090565b600067ffffffffffffffff8211156108405761083f610943565b5b61084982610986565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610893826108a6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156108fd5780820151818401526020810190506108e2565b8381111561090c576000848401525b50505050565b61091b82610986565b810181811067ffffffffffffffff8211171561093a57610939610943565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610a6781610888565b8114610a7257600080fd5b50565b610a7e8161089a565b8114610a8957600080fd5b50565b610a95816108c6565b8114610aa057600080fd5b5056fea2646970667358221220cd1b56cb06d9b3d9420d4e313ac290524008f76b2b4075d04674004ac8db606564736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xC31 CODESIZE SUB DUP1 PUSH2 0xC31 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xCE JUMP JUMPDEST 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 DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x149 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xC8 DUP2 PUSH2 0x132 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE4 JUMPI PUSH2 0xE3 PUSH2 0x12D JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF2 DUP5 DUP3 DUP6 ADD PUSH2 0xB9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x106 DUP3 PUSH2 0x10D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13B DUP2 PUSH2 0xFB JUMP JUMPDEST DUP2 EQ PUSH2 0x146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xAD9 DUP1 PUSH2 0x158 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x34D8C67A EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x484C2D97 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x763 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x55E JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x88 PUSH2 0x180 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x711 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x144 CALLER DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1A9 SWAP1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH32 0x507B63B9389BC8A170FC6414C21BBABD354A33470E499CBFD5CBC2FD4A6CDE38 DUP2 PUSH1 0x40 MLOAD PUSH2 0x173 SWAP2 SWAP1 PUSH2 0x77E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x22C DUP5 PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1CA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x72C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x232 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x294 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2F9 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT ISZERO PUSH2 0x2F4 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0x5CD JUMP JUMPDEST PUSH2 0x2F3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2EA SWAP1 PUSH2 0x7E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x308 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x311 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x356 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34D SWAP1 PUSH2 0x7A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35F DUP6 PUSH2 0x425 JUMP JUMPDEST PUSH2 0x39E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x395 SWAP1 PUSH2 0x7C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x6FA 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 0x404 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 0x409 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x419 DUP3 DUP3 DUP7 PUSH2 0x448 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x458 JUMPI DUP3 SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD GT ISZERO PUSH2 0x46B JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49F SWAP2 SWAP1 PUSH2 0x77E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C2 PUSH2 0x4BD DUP5 PUSH2 0x825 JUMP JUMPDEST PUSH2 0x800 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x977 JUMP JUMPDEST JUMPDEST PUSH2 0x4E9 DUP5 DUP3 DUP6 PUSH2 0x8D0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x500 DUP2 PUSH2 0xA5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x515 DUP2 PUSH2 0xA75 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x530 JUMPI PUSH2 0x52F PUSH2 0x972 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x540 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4AF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x558 DUP2 PUSH2 0xA8C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x577 JUMPI PUSH2 0x576 PUSH2 0x981 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP7 DUP3 DUP8 ADD PUSH2 0x4F1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x596 DUP7 DUP3 DUP8 ADD PUSH2 0x549 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5B7 JUMPI PUSH2 0x5B6 PUSH2 0x97C JUMP JUMPDEST JUMPDEST PUSH2 0x5C3 DUP7 DUP3 DUP8 ADD PUSH2 0x51B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI PUSH2 0x5E2 PUSH2 0x981 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5F1 DUP5 DUP3 DUP6 ADD PUSH2 0x506 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x603 DUP2 PUSH2 0x888 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x612 DUP2 PUSH2 0x89A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x623 DUP3 PUSH2 0x856 JUMP JUMPDEST PUSH2 0x62D DUP2 DUP6 PUSH2 0x86C JUMP JUMPDEST SWAP4 POP PUSH2 0x63D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8DF JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 DUP3 PUSH2 0x861 JUMP JUMPDEST PUSH2 0x65E DUP2 DUP6 PUSH2 0x877 JUMP JUMPDEST SWAP4 POP PUSH2 0x66E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8DF JUMP JUMPDEST PUSH2 0x677 DUP2 PUSH2 0x986 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68F PUSH1 0x26 DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x69A DUP3 PUSH2 0x997 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6B2 PUSH1 0x1D DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x6BD DUP3 PUSH2 0x9E6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D5 PUSH1 0x2A DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x6E0 DUP3 PUSH2 0xA0F JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6F4 DUP2 PUSH2 0x8C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x706 DUP3 DUP5 PUSH2 0x618 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x726 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x741 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x5FA JUMP JUMPDEST PUSH2 0x74E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x5FA JUMP JUMPDEST PUSH2 0x75B PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x6EB JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x778 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x609 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 0x798 DUP2 DUP5 PUSH2 0x649 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7B9 DUP2 PUSH2 0x682 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 0x7D9 DUP2 PUSH2 0x6A5 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 0x7F9 DUP2 PUSH2 0x6C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80A PUSH2 0x81B JUMP JUMPDEST SWAP1 POP PUSH2 0x816 DUP3 DUP3 PUSH2 0x912 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 0x840 JUMPI PUSH2 0x83F PUSH2 0x943 JUMP JUMPDEST JUMPDEST PUSH2 0x849 DUP3 PUSH2 0x986 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 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 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 0x893 DUP3 PUSH2 0x8A6 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 0x8FD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x8E2 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x90C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x91B DUP3 PUSH2 0x986 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0x943 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP 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 PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F74207375636365656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA67 DUP2 PUSH2 0x888 JUMP JUMPDEST DUP2 EQ PUSH2 0xA72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA7E DUP2 PUSH2 0x89A JUMP JUMPDEST DUP2 EQ PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA95 DUP2 PUSH2 0x8C6 JUMP JUMPDEST DUP2 EQ PUSH2 0xAA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD SHL JUMP 0xCB MOD 0xD9 0xB3 0xD9 TIMESTAMP 0xD 0x4E BALANCE GASPRICE 0xC2 SWAP1 MSTORE BLOCKHASH ADDMOD 0xF7 PUSH12 0x2B4075D04674004AC8DB6065 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "547:387:4:-:0;;;633:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;259:10;250:6;;:19;;;;;;;;;;;;;;;;;;682:5;666:6;;:22;;;;;;;;;;;;;;;;;;633:60;547:387;;7:143:5;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:351::-;226:6;275:2;263:9;254:7;250:23;246:32;243:119;;;281:79;;:::i;:::-;243:119;401:1;426:64;482:7;473:6;462:9;458:22;426:64;:::i;:::-;416:74;;372:128;156:351;;;;:::o;594:96::-;631:7;660:24;678:5;660:24;:::i;:::-;649:35;;594:96;;;:::o;696:126::-;733:7;773:42;766:5;762:54;751:65;;696:126;;;:::o;951:117::-;1060:1;1057;1050:12;1074:122;1147:24;1165:5;1147:24;:::i;:::-;1140:5;1137:35;1127:63;;1186:1;1183;1176:12;1127:63;1074:122;:::o;547:387:4:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_callOptionalReturn_393": { | |
"entryPoint": 562, | |
"id": 393, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@check_is_owner_733": { | |
"entryPoint": 158, | |
"id": 733, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@depositTokens_782": { | |
"entryPoint": 245, | |
"id": 782, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"@functionCallWithValue_553": { | |
"entryPoint": 785, | |
"id": 553, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"@functionCall_483": { | |
"entryPoint": 761, | |
"id": 483, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"@isContract_412": { | |
"entryPoint": 1061, | |
"id": 412, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@owner_712": { | |
"entryPoint": 384, | |
"id": 712, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@safeTransferFrom_171": { | |
"entryPoint": 425, | |
"id": 171, | |
"parameterSlots": 4, | |
"returnSlots": 0 | |
}, | |
"@verifyCallResult_688": { | |
"entryPoint": 1096, | |
"id": 688, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_available_length_t_string_memory_ptr": { | |
"entryPoint": 1199, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 1265, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bool_fromMemory": { | |
"entryPoint": 1286, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_string_memory_ptr": { | |
"entryPoint": 1307, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1353, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_addresst_uint256t_string_memory_ptr": { | |
"entryPoint": 1374, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 3 | |
}, | |
"abi_decode_tuple_t_bool_fromMemory": { | |
"entryPoint": 1485, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 1530, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 1545, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 1560, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1609, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1666, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1701, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1736, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 1771, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 1786, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 1809, | |
"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": 1836, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { | |
"entryPoint": 1891, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1918, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1952, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1984, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 2016, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 2048, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 2075, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_string_memory_ptr": { | |
"entryPoint": 2085, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_bytes_memory_ptr": { | |
"entryPoint": 2134, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 2145, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2156, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2167, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 2184, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 2202, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 2214, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 2246, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_calldata_to_memory": { | |
"entryPoint": 2256, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 2271, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 2322, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 2371, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 2418, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
"entryPoint": 2423, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 2428, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 2433, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 2438, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c": { | |
"entryPoint": 2455, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad": { | |
"entryPoint": 2534, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd": { | |
"entryPoint": 2575, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 2654, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bool": { | |
"entryPoint": 2677, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 2700, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:11417:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "91:328:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "101:75:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "168:6:5" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "126:41:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "126:49:5" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "110:15:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "110:66:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "101:5:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "192:5:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "199:6:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "185:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "185:21:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "185:21:5" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "215:27:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "230:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "237:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "226:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "226:16:5" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "219:3:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "280:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulIdentifier", | |
"src": "282:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "282:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "282:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "266:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "257:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "257:16:5" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "275:3:5" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "254:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "254:25:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "251:112:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "396:3:5" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "401:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "406:6:5" | |
} | |
], | |
"functionName": { | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "372:23:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "372:41:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "372:41:5" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "64:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "69:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "77:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "85:5:5", | |
"type": "" | |
} | |
], | |
"src": "7:412:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "477:87:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "487:29:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "509:6:5" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "496:12:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "496:20:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "487:5:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "552:5:5" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "525:26:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "525:33:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "525:33:5" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "455:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "463:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "471:5:5", | |
"type": "" | |
} | |
], | |
"src": "425:139:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "630:77:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "640:22:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "655:6:5" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "649:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "649:13:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "640:5:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "695:5:5" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "671:23:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "671:30:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "671:30:5" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "608:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "616:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "624:5:5", | |
"type": "" | |
} | |
], | |
"src": "570:137:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "789:278:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "838:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "840:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "840:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "840:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "817:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "825:4:5", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "813:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "813:17:5" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "832:3:5" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "809:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "809:27:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "802:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "802:35:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "799:122:5" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "930:34:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "957:6:5" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "944:12:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "944:20:5" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "934:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "973:88:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1034:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1042:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1030:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1030:17:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1049:6:5" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1057:3:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "982:47:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "982:79:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "973:5:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "767:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "775:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "783:5:5", | |
"type": "" | |
} | |
], | |
"src": "727:340:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1125:87:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1135:29:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1157:6:5" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1144:12:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1144:20:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1135:5:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1200:5:5" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1173:26:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1173:33:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1173:33:5" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1103:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1111:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1119:5:5", | |
"type": "" | |
} | |
], | |
"src": "1073:139:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1328:689:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1374:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1376:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1376:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1376:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1349:7:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1358:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1345:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1345:23:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1370:2:5", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1341:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1341:32:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "1338:119:5" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1467:117:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1482:15:5", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1496:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1486:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1511:63:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1546:9:5" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1557:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1542:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1542:22:5" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1566:7:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1521:20:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1521:53:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1511:6:5" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1594:118:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1609:16:5", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1623:2:5", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1613:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1639:63:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1674:9:5" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1685:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1670:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1670:22:5" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1694:7:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1649:20:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1649:53:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1639:6:5" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1722:288:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1737:46:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1768:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1779:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1764:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1764:18:5" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1751:12:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1751:32:5" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1741:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1830:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "1832:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1832:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1832:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1802:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1810:18:5", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1799:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:30:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "1796:117:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1927:73:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1972:9:5" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1983:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1968:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1968:22:5" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1992:7:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "1937:30:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1937:63:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "1927:6:5" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_addresst_uint256t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1282:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1293:7:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1305:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1313:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "1321:6:5", | |
"type": "" | |
} | |
], | |
"src": "1218:799:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2097:271:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2143:83:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2145:77:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2145:79:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2145:79:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2118:7:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2127:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2114:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2114:23:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2139:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2110:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2110:32:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "2107:119:5" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2236:125:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2251:15:5", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2265:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2255:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2280:71:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2323:9:5" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2334:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2319:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2319:22:5" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2343:7:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2290:28:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2290:61:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2280:6:5" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2067:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2078:7:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2090:6:5", | |
"type": "" | |
} | |
], | |
"src": "2023:345:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2439:53:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2456:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2479:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "2461:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2461:24:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2449:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2449:37:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2449:37:5" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2427:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2434:3:5", | |
"type": "" | |
} | |
], | |
"src": "2374:118:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2557:50:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2574:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2594:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "2579:14:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2579:21:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2567:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2567:34:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2567:34:5" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2545:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2552:3:5", | |
"type": "" | |
} | |
], | |
"src": "2498:109:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2721:265:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2731:52:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2777:5:5" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2745:31:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2745:38:5" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2735:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2792:95:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2875:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2880:6:5" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2799:75:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2799:88:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2792:3:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2922:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2929:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2918:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2918:16:5" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2936:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2941:6:5" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "2896:21:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2896:52:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2896:52:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2957:23:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2968:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2973:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2964:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2964:16:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2957:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2702:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2709:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2717:3:5", | |
"type": "" | |
} | |
], | |
"src": "2613:373:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3084:272:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3094:53:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3141:5:5" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3108:32:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3108:39:5" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3098:6:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3156:78:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3222:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3227:6:5" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3163:58:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3163:71:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3156:3:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3269:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3276:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3265:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3265:16:5" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3283:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3288:6:5" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "3243:21:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3243:52:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3243:52:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3304:46:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3315:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3342:6:5" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "3320:21:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3320:29:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3311:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3311:39:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3304:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3065:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3072:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3080:3:5", | |
"type": "" | |
} | |
], | |
"src": "2992:364:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3508:220:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3518:74:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3584:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3589:2:5", | |
"type": "", | |
"value": "38" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3525:58:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3525:67:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3518:3:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3690:3:5" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", | |
"nodeType": "YulIdentifier", | |
"src": "3601:88:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3601:93:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3601:93:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3703:19:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3714:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3719:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3710:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3710:12:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3703:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3496:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3504:3:5", | |
"type": "" | |
} | |
], | |
"src": "3362:366:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3880:220:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3890:74:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3956:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3961:2:5", | |
"type": "", | |
"value": "29" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3897:58:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3897:67:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3890:3:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4062:3:5" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", | |
"nodeType": "YulIdentifier", | |
"src": "3973:88:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3973:93:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3973:93:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4075:19:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4086:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4091:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4082:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4082:12:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4075:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3868:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3876:3:5", | |
"type": "" | |
} | |
], | |
"src": "3734:366:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4252:220:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4262:74:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4328:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4333:2:5", | |
"type": "", | |
"value": "42" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4269:58:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4269:67:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4262:3:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4434:3:5" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", | |
"nodeType": "YulIdentifier", | |
"src": "4345:88:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4345:93:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4345:93:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4447:19:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4458:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4463:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4454:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4454:12:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4447:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4240:3:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4248:3:5", | |
"type": "" | |
} | |
], | |
"src": "4106:366:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4543:53:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4560:3:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4583:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4565:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4565:24:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4553:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4553:37:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4553:37:5" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4531:5:5", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4538:3:5", | |
"type": "" | |
} | |
], | |
"src": "4478:118:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4736:137:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4747:100:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4834:6:5" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4843:3:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4754:79:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4754:93:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4747:3:5" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4857:10:5", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4864:3:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4857:3:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4715:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4721:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4732:3:5", | |
"type": "" | |
} | |
], | |
"src": "4602:271:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4977:124:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4987:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4999:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5010:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4995:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4995:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4987:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5067:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5080:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5091:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5076:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5076:17:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5023:43:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5023:71:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5023:71:5" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4949:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4961:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4972:4:5", | |
"type": "" | |
} | |
], | |
"src": "4879:222:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5261:288:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5271:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5283:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5294:2:5", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5279:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5279:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5271:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5351:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5364:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5375:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5360:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5360:17:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5307:43:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5307:71:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5307:71:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "5432:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5445:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5456:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5441:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5441:18:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5388:43:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5388:72:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5388:72:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "5514:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5527:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5538:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5523:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5523:18:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5470:43:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5470:72:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5470:72:5" | |
} | |
] | |
}, | |
"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": "5217:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "5229:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "5237:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5245:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5256:4:5", | |
"type": "" | |
} | |
], | |
"src": "5107:442:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5647:118:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5657:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5669:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5680:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5665:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5665:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5657:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5731:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5744:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5755:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5740:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5740:17:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5693:37:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5693:65:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5693:65:5" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5619:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5631:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5642:4:5", | |
"type": "" | |
} | |
], | |
"src": "5555:210:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5889:195:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5899:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5911:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5922:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5907:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5907:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5899:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5946:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5957:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5942:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5942:17:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5965:4:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5971:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5961:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5961:20:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5935:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5935:47:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5935:47:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5991:86:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6063:6:5" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6072:4:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5999:63:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5999:78:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5991:4:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5861:9:5", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5873:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5884:4:5", | |
"type": "" | |
} | |
], | |
"src": "5771:313:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6261:248:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6271:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6283:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6294:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6279:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6279:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6271:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6318:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6329:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6314:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6314:17:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6337:4:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6343:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6333:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6333:20:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6307:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6307:47:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6307:47:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6363:139:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6497:4:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6371:124:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6371:131:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6363:4:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6241:9:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6256:4:5", | |
"type": "" | |
} | |
], | |
"src": "6090:419:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6686:248:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6696:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6708:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6719:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6704:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6704:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6696:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6743:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6754:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6739:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6739:17:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6762:4:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6768:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6758:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6758:20:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6732:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6732:47:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6732:47:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6788:139:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6922:4:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6796:124:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6796:131:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6788:4:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6666:9:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6681:4:5", | |
"type": "" | |
} | |
], | |
"src": "6515:419:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7111:248:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7121:26:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7133:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7144:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7129:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7129:18:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7121:4:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7168:9:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7179:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7164:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7164:17:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7187:4:5" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7193:9:5" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "7183:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7183:20:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7157:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7157:47:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7157:47:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7213:139:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7347:4:5" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7221:124:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7221:131:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7213:4:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7091:9:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7106:4:5", | |
"type": "" | |
} | |
], | |
"src": "6940:419:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7406:88:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7416:30:5", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "7426:18:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7426:20:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7416:6:5" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7475:6:5" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7483:4:5" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "7455:19:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7455:33:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7455:33:5" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "7390:4:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "7399:6:5", | |
"type": "" | |
} | |
], | |
"src": "7365:129:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7540:35:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7550:19:5", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7566:2:5", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "7560:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7560:9:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7550:6:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "7533:6:5", | |
"type": "" | |
} | |
], | |
"src": "7500:75:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7648:241:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7753:22:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "7755:16:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7755:18:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7755:18:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7725:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7733:18:5", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "7722:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7722:30:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "7719:56:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7785:37:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7815:6:5" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "7793:21:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7793:29:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7785:4:5" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7859:23:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7871:4:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7877:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7867:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7867:15:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "7859:4:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7632:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "7643:4:5", | |
"type": "" | |
} | |
], | |
"src": "7581:308:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7953:40:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7964:22:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7980:5:5" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "7974:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7974:12:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7964:6:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7936:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7946:6:5", | |
"type": "" | |
} | |
], | |
"src": "7895:98:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8058:40:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8069:22:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8085:5:5" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "8079:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8079:12:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8069:6:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8041:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8051:6:5", | |
"type": "" | |
} | |
], | |
"src": "7999:99:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8217:34:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8227:18:5", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8242:3:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "8227:11:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8189:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8194:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "8205:11:5", | |
"type": "" | |
} | |
], | |
"src": "8104:147:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8353:73:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8370:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8375:6:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8363:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8363:19:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8363:19:5" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8391:29:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8410:3:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8415:4:5", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8406:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8406:14:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "8391:11:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8325:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8330:6:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "8341:11:5", | |
"type": "" | |
} | |
], | |
"src": "8257:169:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8477:51:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8487:35:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8516:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "8498:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8498:24:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "8487:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8459:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "8469:7:5", | |
"type": "" | |
} | |
], | |
"src": "8432:96:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8576:48:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8586:32:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8611:5:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "8604:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8604:13:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "8597:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8597:21:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "8586:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8558:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "8568:7:5", | |
"type": "" | |
} | |
], | |
"src": "8534:90:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8675:81:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8685:65:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8700:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8707:42:5", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "8696:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8696:54:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "8685:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8657:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "8667:7:5", | |
"type": "" | |
} | |
], | |
"src": "8630:126:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8807:32:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8817:16:5", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8828:5:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "8817:7:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8789:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "8799:7:5", | |
"type": "" | |
} | |
], | |
"src": "8762:77:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8896:103:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "8919:3:5" | |
}, | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "8924:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8929:6:5" | |
} | |
], | |
"functionName": { | |
"name": "calldatacopy", | |
"nodeType": "YulIdentifier", | |
"src": "8906:12:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8906:30:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8906:30:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "8977:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8982:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8973:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8973:16:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8991:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8966:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8966:27:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8966:27:5" | |
} | |
] | |
}, | |
"name": "copy_calldata_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "8878:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "8883:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8888:6:5", | |
"type": "" | |
} | |
], | |
"src": "8845:154:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9054:258:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9064:10:5", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9073:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "9068:1:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9133:63:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "9158:3:5" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9163:1:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9154:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9154:11:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "9177:3:5" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9182:1:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9173:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9173:11:5" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "9167:5:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9167:18:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9147:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9147:39:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9147:39:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9094:1:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9097:6:5" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "9091:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9091:13:5" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "9105:19:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9107:15:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9116:1:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9119:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9112:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9112:10:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9107:1:5" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "9087:3:5", | |
"statements": [] | |
}, | |
"src": "9083:113:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9230:76:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "9280:3:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9285:6:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9276:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9276:16:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9294:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9269:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9269:27:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9269:27:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "9211:1:5" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "9214:6:5" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "9208:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9208:13:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "9205:101:5" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "9036:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "9041:3:5", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "9046:6:5", | |
"type": "" | |
} | |
], | |
"src": "9005:307:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9361:238:5", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9371:58:5", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9393:6:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "9423:4:5" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "9401:21:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9401:27:5" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9389:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9389:40:5" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "9375:10:5", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9540:22:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "9542:16:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9542:18:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9542:18:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9483:10:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9495:18:5", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "9480:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9480:34:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9519:10:5" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9531:6:5" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "9516:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9516:22:5" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "9477:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9477:62:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "9474:88:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9578:2:5", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "9582:10:5" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9571:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9571:22:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9571:22:5" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "9347:6:5", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "9355:4:5", | |
"type": "" | |
} | |
], | |
"src": "9318:281:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9633:152:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9650:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9653:77:5", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9643:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9643:88:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9643:88:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9747:1:5", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9750:4:5", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9740:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9740:15:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9740:15:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9771:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9774:4:5", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "9764:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9764:15:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9764:15:5" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "9605:180:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9880:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9897:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9900:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "9890:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9890:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9890:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "9791:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10003:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10020:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10023:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10013:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10013:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10013:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
"nodeType": "YulFunctionDefinition", | |
"src": "9914:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10126:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10143:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10146:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10136:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10136:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10136:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10037:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10249:28:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10266:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10269:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "10259:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10259:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10259:12:5" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "10160:117:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10331:54:5", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10341:38:5", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10359:5:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10366:2:5", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10355:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10355:14:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10375:2:5", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "10371:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10371:7:5" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "10351:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10351:28:5" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "10341:6:5" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10314:5:5", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "10324:6:5", | |
"type": "" | |
} | |
], | |
"src": "10283:102:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10497:119:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10519:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10527:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10515:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10515:14:5" | |
}, | |
{ | |
"hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "10531:34:5", | |
"type": "", | |
"value": "Address: insufficient balance fo" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10508:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10508:58:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10508:58:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10587:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10595:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10583:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10583:15:5" | |
}, | |
{ | |
"hexValue": "722063616c6c", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "10600:8:5", | |
"type": "", | |
"value": "r call" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10576:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10576:33:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10576:33:5" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "10489:6:5", | |
"type": "" | |
} | |
], | |
"src": "10391:225:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10728:73:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10750:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10758:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10746:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10746:14:5" | |
}, | |
{ | |
"hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "10762:31:5", | |
"type": "", | |
"value": "Address: call to non-contract" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10739:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10739:55:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10739:55:5" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "10720:6:5", | |
"type": "" | |
} | |
], | |
"src": "10622:179:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10913:123:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10935:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10943:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10931:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10931:14:5" | |
}, | |
{ | |
"hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "10947:34:5", | |
"type": "", | |
"value": "SafeERC20: ERC20 operation did n" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10924:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10924:58:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10924:58:5" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "11003:6:5" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11011:2:5", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10999:3:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10999:15:5" | |
}, | |
{ | |
"hexValue": "6f742073756363656564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "11016:12:5", | |
"type": "", | |
"value": "ot succeed" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10992:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10992:37:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10992:37:5" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "10905:6:5", | |
"type": "" | |
} | |
], | |
"src": "10807:229:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11085:79:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11142:16:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11151:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11154:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11144:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11144:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11144:12:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11108:5:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11133:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "11115:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11115:24:5" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "11105:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11105:35:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11098:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11098:43:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "11095:63:5" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11078:5:5", | |
"type": "" | |
} | |
], | |
"src": "11042:122:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11210:76:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11264:16:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11273:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11276:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11266:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11266:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11266:12:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11233:5:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11255:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "11240:14:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11240:21:5" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "11230:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11230:32:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11223:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11223:40:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "11220:60:5" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11203:5:5", | |
"type": "" | |
} | |
], | |
"src": "11170:116:5" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11335:79:5", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11392:16:5", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11401:1:5", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11404:1:5", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11394:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11394:12:5" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11394:12:5" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11358:5:5" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11383:5:5" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11365:17:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11365:24:5" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "11355:2:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11355:35:5" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11348:6:5" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11348:43:5" | |
}, | |
"nodeType": "YulIf", | |
"src": "11345:63:5" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11328:5:5", | |
"type": "" | |
} | |
], | |
"src": "11292:122:5" | |
} | |
] | |
}, | |
"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 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_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\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_addresst_uint256t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(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_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_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\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_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(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_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, 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_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_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c__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_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__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_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd__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_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd_to_t_string_memory_ptr_fromStack( tail)\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_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\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_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_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 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_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 store_literal_in_memory_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: insufficient balance fo\")\n\n mstore(add(memPtr, 32), \"r call\")\n\n }\n\n function store_literal_in_memory_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad(memPtr) {\n\n mstore(add(memPtr, 0), \"Address: call to non-contract\")\n\n }\n\n function store_literal_in_memory_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd(memPtr) {\n\n mstore(add(memPtr, 0), \"SafeERC20: ERC20 operation did n\")\n\n mstore(add(memPtr, 32), \"ot succeed\")\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_bool(value) {\n if iszero(eq(value, cleanup_t_bool(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": 5, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806334d8c67a14610046578063484c2d97146100645780638da5cb5b14610080575b600080fd5b61004e61009e565b60405161005b9190610763565b60405180910390f35b61007e6004803603810190610079919061055e565b6100f5565b005b610088610180565b6040516100959190610711565b60405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b610144338484600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166101a9909392919063ffffffff16565b7f507b63b9389bc8a170fc6414c21bbabd354a33470e499cbfd5cbc2fd4a6cde3881604051610173919061077e565b60405180910390a1505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61022c846323b872dd60e01b8585856040516024016101ca9392919061072c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610232565b50505050565b6000610294826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166102f99092919063ffffffff16565b90506000815111156102f457808060200190518101906102b491906105cd565b6102f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ea906107e0565b60405180910390fd5b5b505050565b60606103088484600085610311565b90509392505050565b606082471015610356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034d906107a0565b60405180910390fd5b61035f85610425565b61039e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610395906107c0565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103c791906106fa565b60006040518083038185875af1925050503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5091509150610419828286610448565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315610458578290506104a8565b60008351111561046b5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f919061077e565b60405180910390fd5b9392505050565b60006104c26104bd84610825565b610800565b9050828152602081018484840111156104de576104dd610977565b5b6104e98482856108d0565b509392505050565b60008135905061050081610a5e565b92915050565b60008151905061051581610a75565b92915050565b600082601f8301126105305761052f610972565b5b81356105408482602086016104af565b91505092915050565b60008135905061055881610a8c565b92915050565b60008060006060848603121561057757610576610981565b5b6000610585868287016104f1565b935050602061059686828701610549565b925050604084013567ffffffffffffffff8111156105b7576105b661097c565b5b6105c38682870161051b565b9150509250925092565b6000602082840312156105e3576105e2610981565b5b60006105f184828501610506565b91505092915050565b61060381610888565b82525050565b6106128161089a565b82525050565b600061062382610856565b61062d818561086c565b935061063d8185602086016108df565b80840191505092915050565b600061065482610861565b61065e8185610877565b935061066e8185602086016108df565b61067781610986565b840191505092915050565b600061068f602683610877565b915061069a82610997565b604082019050919050565b60006106b2601d83610877565b91506106bd826109e6565b602082019050919050565b60006106d5602a83610877565b91506106e082610a0f565b604082019050919050565b6106f4816108c6565b82525050565b60006107068284610618565b915081905092915050565b600060208201905061072660008301846105fa565b92915050565b600060608201905061074160008301866105fa565b61074e60208301856105fa565b61075b60408301846106eb565b949350505050565b60006020820190506107786000830184610609565b92915050565b600060208201905081810360008301526107988184610649565b905092915050565b600060208201905081810360008301526107b981610682565b9050919050565b600060208201905081810360008301526107d9816106a5565b9050919050565b600060208201905081810360008301526107f9816106c8565b9050919050565b600061080a61081b565b90506108168282610912565b919050565b6000604051905090565b600067ffffffffffffffff8211156108405761083f610943565b5b61084982610986565b9050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610893826108a6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156108fd5780820151818401526020810190506108e2565b8381111561090c576000848401525b50505050565b61091b82610986565b810181811067ffffffffffffffff8211171561093a57610939610943565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b610a6781610888565b8114610a7257600080fd5b50565b610a7e8161089a565b8114610a8957600080fd5b50565b610a95816108c6565b8114610aa057600080fd5b5056fea2646970667358221220cd1b56cb06d9b3d9420d4e313ac290524008f76b2b4075d04674004ac8db606564736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x34D8C67A EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x484C2D97 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x763 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x79 SWAP2 SWAP1 PUSH2 0x55E JUMP JUMPDEST PUSH2 0xF5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x88 PUSH2 0x180 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x711 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x144 CALLER DUP5 DUP5 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1A9 SWAP1 SWAP4 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH32 0x507B63B9389BC8A170FC6414C21BBABD354A33470E499CBFD5CBC2FD4A6CDE38 DUP2 PUSH1 0x40 MLOAD PUSH2 0x173 SWAP2 SWAP1 PUSH2 0x77E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x22C DUP5 PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1CA SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x72C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x232 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x294 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564 DUP2 MSTORE POP DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x2F9 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT ISZERO PUSH2 0x2F4 JUMPI DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0x5CD JUMP JUMPDEST PUSH2 0x2F3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2EA SWAP1 PUSH2 0x7E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x308 DUP5 DUP5 PUSH1 0x0 DUP6 PUSH2 0x311 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 SELFBALANCE LT ISZERO PUSH2 0x356 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x34D SWAP1 PUSH2 0x7A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35F DUP6 PUSH2 0x425 JUMP JUMPDEST PUSH2 0x39E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x395 SWAP1 PUSH2 0x7C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 DUP8 PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x6FA 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 0x404 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 0x409 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x419 DUP3 DUP3 DUP7 PUSH2 0x448 JUMP JUMPDEST SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EXTCODESIZE GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x458 JUMPI DUP3 SWAP1 POP PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD GT ISZERO PUSH2 0x46B JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49F SWAP2 SWAP1 PUSH2 0x77E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C2 PUSH2 0x4BD DUP5 PUSH2 0x825 JUMP JUMPDEST PUSH2 0x800 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4DE JUMPI PUSH2 0x4DD PUSH2 0x977 JUMP JUMPDEST JUMPDEST PUSH2 0x4E9 DUP5 DUP3 DUP6 PUSH2 0x8D0 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x500 DUP2 PUSH2 0xA5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x515 DUP2 PUSH2 0xA75 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x530 JUMPI PUSH2 0x52F PUSH2 0x972 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x540 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4AF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x558 DUP2 PUSH2 0xA8C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x577 JUMPI PUSH2 0x576 PUSH2 0x981 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x585 DUP7 DUP3 DUP8 ADD PUSH2 0x4F1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x596 DUP7 DUP3 DUP8 ADD PUSH2 0x549 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5B7 JUMPI PUSH2 0x5B6 PUSH2 0x97C JUMP JUMPDEST JUMPDEST PUSH2 0x5C3 DUP7 DUP3 DUP8 ADD PUSH2 0x51B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI PUSH2 0x5E2 PUSH2 0x981 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x5F1 DUP5 DUP3 DUP6 ADD PUSH2 0x506 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x603 DUP2 PUSH2 0x888 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x612 DUP2 PUSH2 0x89A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x623 DUP3 PUSH2 0x856 JUMP JUMPDEST PUSH2 0x62D DUP2 DUP6 PUSH2 0x86C JUMP JUMPDEST SWAP4 POP PUSH2 0x63D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8DF JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x654 DUP3 PUSH2 0x861 JUMP JUMPDEST PUSH2 0x65E DUP2 DUP6 PUSH2 0x877 JUMP JUMPDEST SWAP4 POP PUSH2 0x66E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x8DF JUMP JUMPDEST PUSH2 0x677 DUP2 PUSH2 0x986 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x68F PUSH1 0x26 DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x69A DUP3 PUSH2 0x997 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6B2 PUSH1 0x1D DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x6BD DUP3 PUSH2 0x9E6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D5 PUSH1 0x2A DUP4 PUSH2 0x877 JUMP JUMPDEST SWAP2 POP PUSH2 0x6E0 DUP3 PUSH2 0xA0F JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6F4 DUP2 PUSH2 0x8C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x706 DUP3 DUP5 PUSH2 0x618 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x726 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x5FA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x741 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x5FA JUMP JUMPDEST PUSH2 0x74E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x5FA JUMP JUMPDEST PUSH2 0x75B PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x6EB JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x778 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x609 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 0x798 DUP2 DUP5 PUSH2 0x649 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7B9 DUP2 PUSH2 0x682 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 0x7D9 DUP2 PUSH2 0x6A5 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 0x7F9 DUP2 PUSH2 0x6C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x80A PUSH2 0x81B JUMP JUMPDEST SWAP1 POP PUSH2 0x816 DUP3 DUP3 PUSH2 0x912 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 0x840 JUMPI PUSH2 0x83F PUSH2 0x943 JUMP JUMPDEST JUMPDEST PUSH2 0x849 DUP3 PUSH2 0x986 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 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 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 0x893 DUP3 PUSH2 0x8A6 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 0x8FD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x8E2 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x90C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x91B DUP3 PUSH2 0x986 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x93A JUMPI PUSH2 0x939 PUSH2 0x943 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP 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 PUSH32 0x416464726573733A20696E73756666696369656E742062616C616E636520666F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x722063616C6C0000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5361666545524332303A204552433230206F7065726174696F6E20646964206E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6F74207375636365656400000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA67 DUP2 PUSH2 0x888 JUMP JUMPDEST DUP2 EQ PUSH2 0xA72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA7E DUP2 PUSH2 0x89A JUMP JUMPDEST DUP2 EQ PUSH2 0xA89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA95 DUP2 PUSH2 0x8C6 JUMP JUMPDEST DUP2 EQ PUSH2 0xAA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCD SHL JUMP 0xCB MOD 0xD9 0xB3 0xD9 TIMESTAMP 0xD 0x4E BALANCE GASPRICE 0xC2 SWAP1 MSTORE BLOCKHASH ADDMOD 0xF7 PUSH12 0x2B4075D04674004AC8DB6065 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ", | |
"sourceMap": "547:387:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;452:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;738:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;278:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;452:91;499:4;532:6;;;;;;;;;;;518:20;;:10;:20;;;511:27;;452:91;:::o;738:194::-;843:49;867:10;879:3;884:7;843:6;;;;;;;;;;;:23;;;;:49;;;;;;:::i;:::-;903:24;919:7;903:24;;;;;;:::i;:::-;;;;;;;;738:194;;;:::o;278:71::-;316:7;338:6;;;;;;;;;;;331:13;;278:71;:::o;974:241:2:-;1112:96;1132:5;1162:27;;;1191:4;1197:2;1201:5;1139:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1112:19;:96::i;:::-;974:241;;;;:::o;3747:706::-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;4192:27;;;;:69;;;;;:::i;:::-;4166:95;;4295:1;4275:10;:17;:21;4271:176;;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4271:176;3817:636;3747:706;;:::o;3861:223:3:-;3994:12;4025:52;4047:6;4055:4;4061:1;4064:12;4025:21;:52::i;:::-;4018:59;;3861:223;;;;;:::o;4948:499::-;5113:12;5170:5;5145:21;:30;;5137:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5236:18;5247:6;5236:10;:18::i;:::-;5228:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5300:12;5314:23;5341:6;:11;;5360:5;5367:4;5341:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5299:73;;;;5389:51;5406:7;5415:10;5427:12;5389:16;:51::i;:::-;5382:58;;;;4948:499;;;;;;:::o;1175:320::-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;7561:742::-;7707:12;7735:7;7731:566;;;7765:10;7758:17;;;;7731:566;7896:1;7876:10;:17;:21;7872:415;;;8120:10;8114:17;8180:15;8167:10;8163:2;8159:19;8152:44;7872:415;8259:12;8252:20;;;;;;;;;;;:::i;:::-;;;;;;;;7561:742;;;;;;:::o;7:412:5:-;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;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:137::-;624:5;655:6;649:13;640:22;;671:30;695:5;671:30;:::i;:::-;570:137;;;;:::o;727:340::-;783:5;832:3;825:4;817:6;813:17;809:27;799:122;;840:79;;:::i;:::-;799:122;957:6;944:20;982:79;1057:3;1049:6;1042:4;1034:6;1030:17;982:79;:::i;:::-;973:88;;789:278;727:340;;;;:::o;1073:139::-;1119:5;1157:6;1144:20;1135:29;;1173:33;1200:5;1173:33;:::i;:::-;1073:139;;;;:::o;1218:799::-;1305:6;1313;1321;1370:2;1358:9;1349:7;1345:23;1341:32;1338:119;;;1376:79;;:::i;:::-;1338:119;1496:1;1521:53;1566:7;1557:6;1546:9;1542:22;1521:53;:::i;:::-;1511:63;;1467:117;1623:2;1649:53;1694:7;1685:6;1674:9;1670:22;1649:53;:::i;:::-;1639:63;;1594:118;1779:2;1768:9;1764:18;1751:32;1810:18;1802:6;1799:30;1796:117;;;1832:79;;:::i;:::-;1796:117;1937:63;1992:7;1983:6;1972:9;1968:22;1937:63;:::i;:::-;1927:73;;1722:288;1218:799;;;;;:::o;2023:345::-;2090:6;2139:2;2127:9;2118:7;2114:23;2110:32;2107:119;;;2145:79;;:::i;:::-;2107:119;2265:1;2290:61;2343:7;2334:6;2323:9;2319:22;2290:61;:::i;:::-;2280:71;;2236:125;2023:345;;;;:::o;2374:118::-;2461:24;2479:5;2461:24;:::i;:::-;2456:3;2449:37;2374:118;;:::o;2498:109::-;2579:21;2594:5;2579:21;:::i;:::-;2574:3;2567:34;2498:109;;:::o;2613:373::-;2717:3;2745:38;2777:5;2745:38;:::i;:::-;2799:88;2880:6;2875:3;2799:88;:::i;:::-;2792:95;;2896:52;2941:6;2936:3;2929:4;2922:5;2918:16;2896:52;:::i;:::-;2973:6;2968:3;2964:16;2957:23;;2721:265;2613:373;;;;:::o;2992:364::-;3080:3;3108:39;3141:5;3108:39;:::i;:::-;3163:71;3227:6;3222:3;3163:71;:::i;:::-;3156:78;;3243:52;3288:6;3283:3;3276:4;3269:5;3265:16;3243:52;:::i;:::-;3320:29;3342:6;3320:29;:::i;:::-;3315:3;3311:39;3304:46;;3084:272;2992:364;;;;:::o;3362:366::-;3504:3;3525:67;3589:2;3584:3;3525:67;:::i;:::-;3518:74;;3601:93;3690:3;3601:93;:::i;:::-;3719:2;3714:3;3710:12;3703:19;;3362:366;;;:::o;3734:::-;3876:3;3897:67;3961:2;3956:3;3897:67;:::i;:::-;3890:74;;3973:93;4062:3;3973:93;:::i;:::-;4091:2;4086:3;4082:12;4075:19;;3734:366;;;:::o;4106:::-;4248:3;4269:67;4333:2;4328:3;4269:67;:::i;:::-;4262:74;;4345:93;4434:3;4345:93;:::i;:::-;4463:2;4458:3;4454:12;4447:19;;4106:366;;;:::o;4478:118::-;4565:24;4583:5;4565:24;:::i;:::-;4560:3;4553:37;4478:118;;:::o;4602:271::-;4732:3;4754:93;4843:3;4834:6;4754:93;:::i;:::-;4747:100;;4864:3;4857:10;;4602:271;;;;:::o;4879:222::-;4972:4;5010:2;4999:9;4995:18;4987:26;;5023:71;5091:1;5080:9;5076:17;5067:6;5023:71;:::i;:::-;4879:222;;;;:::o;5107:442::-;5256:4;5294:2;5283:9;5279:18;5271:26;;5307:71;5375:1;5364:9;5360:17;5351:6;5307:71;:::i;:::-;5388:72;5456:2;5445:9;5441:18;5432:6;5388:72;:::i;:::-;5470;5538:2;5527:9;5523:18;5514:6;5470:72;:::i;:::-;5107:442;;;;;;:::o;5555:210::-;5642:4;5680:2;5669:9;5665:18;5657:26;;5693:65;5755:1;5744:9;5740:17;5731:6;5693:65;:::i;:::-;5555:210;;;;:::o;5771:313::-;5884:4;5922:2;5911:9;5907:18;5899:26;;5971:9;5965:4;5961:20;5957:1;5946:9;5942:17;5935:47;5999:78;6072:4;6063:6;5999:78;:::i;:::-;5991:86;;5771:313;;;;:::o;6090:419::-;6256:4;6294:2;6283:9;6279:18;6271:26;;6343:9;6337:4;6333:20;6329:1;6318:9;6314:17;6307:47;6371:131;6497:4;6371:131;:::i;:::-;6363:139;;6090:419;;;:::o;6515:::-;6681:4;6719:2;6708:9;6704:18;6696:26;;6768:9;6762:4;6758:20;6754:1;6743:9;6739:17;6732:47;6796:131;6922:4;6796:131;:::i;:::-;6788:139;;6515:419;;;:::o;6940:::-;7106:4;7144:2;7133:9;7129:18;7121:26;;7193:9;7187:4;7183:20;7179:1;7168:9;7164:17;7157:47;7221:131;7347:4;7221:131;:::i;:::-;7213:139;;6940:419;;;:::o;7365:129::-;7399:6;7426:20;;:::i;:::-;7416:30;;7455:33;7483:4;7475:6;7455:33;:::i;:::-;7365:129;;;:::o;7500:75::-;7533:6;7566:2;7560:9;7550:19;;7500:75;:::o;7581:308::-;7643:4;7733:18;7725:6;7722:30;7719:56;;;7755:18;;:::i;:::-;7719:56;7793:29;7815:6;7793:29;:::i;:::-;7785:37;;7877:4;7871;7867:15;7859:23;;7581:308;;;:::o;7895:98::-;7946:6;7980:5;7974:12;7964:22;;7895:98;;;:::o;7999:99::-;8051:6;8085:5;8079:12;8069:22;;7999:99;;;:::o;8104:147::-;8205:11;8242:3;8227:18;;8104:147;;;;:::o;8257:169::-;8341:11;8375:6;8370:3;8363:19;8415:4;8410:3;8406:14;8391:29;;8257:169;;;;:::o;8432:96::-;8469:7;8498:24;8516:5;8498:24;:::i;:::-;8487:35;;8432:96;;;:::o;8534:90::-;8568:7;8611:5;8604:13;8597:21;8586:32;;8534:90;;;:::o;8630:126::-;8667:7;8707:42;8700:5;8696:54;8685:65;;8630:126;;;:::o;8762:77::-;8799:7;8828:5;8817:16;;8762:77;;;:::o;8845:154::-;8929:6;8924:3;8919;8906:30;8991:1;8982:6;8977:3;8973:16;8966:27;8845:154;;;:::o;9005:307::-;9073:1;9083:113;9097:6;9094:1;9091:13;9083:113;;;9182:1;9177:3;9173:11;9167:18;9163:1;9158:3;9154:11;9147:39;9119:2;9116:1;9112:10;9107:15;;9083:113;;;9214:6;9211:1;9208:13;9205:101;;;9294:1;9285:6;9280:3;9276:16;9269:27;9205:101;9054:258;9005:307;;;:::o;9318:281::-;9401:27;9423:4;9401:27;:::i;:::-;9393:6;9389:40;9531:6;9519:10;9516:22;9495:18;9483:10;9480:34;9477:62;9474:88;;;9542:18;;:::i;:::-;9474:88;9582:10;9578:2;9571:22;9361:238;9318:281;;:::o;9605:180::-;9653:77;9650:1;9643:88;9750:4;9747:1;9740:15;9774:4;9771:1;9764:15;9791:117;9900:1;9897;9890:12;9914:117;10023:1;10020;10013:12;10037:117;10146:1;10143;10136:12;10160:117;10269:1;10266;10259:12;10283:102;10324:6;10375:2;10371:7;10366:2;10359:5;10355:14;10351:28;10341:38;;10283:102;;;:::o;10391:225::-;10531:34;10527:1;10519:6;10515:14;10508:58;10600:8;10595:2;10587:6;10583:15;10576:33;10391:225;:::o;10622:179::-;10762:31;10758:1;10750:6;10746:14;10739:55;10622:179;:::o;10807:229::-;10947:34;10943:1;10935:6;10931:14;10924:58;11016:12;11011:2;11003:6;10999:15;10992:37;10807:229;:::o;11042:122::-;11115:24;11133:5;11115:24;:::i;:::-;11108:5;11105:35;11095:63;;11154:1;11151;11144:12;11095:63;11042:122;:::o;11170:116::-;11240:21;11255:5;11240:21;:::i;:::-;11233:5;11230:32;11220:60;;11276:1;11273;11266:12;11220:60;11170:116;:::o;11292:122::-;11365:24;11383:5;11365:24;:::i;:::-;11358:5;11355:35;11345:63;;11404:1;11401;11394:12;11345:63;11292:122;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "555400", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"check_is_owner()": "2474", | |
"depositTokens(address,uint256,string)": "infinite", | |
"owner()": "2544" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "80" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "MSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "CALLVALUE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "ISZERO", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "tag", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSHSIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "CODESIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSHSIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP4", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "CODECOPY", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "ADD", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "MSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "ADD", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "3" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "tag", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 259, | |
"end": 269, | |
"name": "CALLER", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 256, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 250, | |
"end": 256, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "NOT", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "DUP4", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "OR", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "SSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 250, | |
"end": 269, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 682, | |
"end": 687, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 672, | |
"name": "PUSH", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 666, | |
"end": 672, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "NOT", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "DUP4", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "MUL", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "OR", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "SSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 666, | |
"end": 688, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 633, | |
"end": 693, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "8" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMP", | |
"source": 4 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "tag", | |
"source": 5, | |
"value": "10" | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 64, | |
"end": 69, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 95, | |
"end": 101, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 89, | |
"end": 102, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 80, | |
"end": 102, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 80, | |
"end": 102, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 111, | |
"end": 144, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "12" | |
}, | |
{ | |
"begin": 138, | |
"end": 143, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 111, | |
"end": 144, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "13" | |
}, | |
{ | |
"begin": 111, | |
"end": 144, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 111, | |
"end": 144, | |
"name": "tag", | |
"source": 5, | |
"value": "12" | |
}, | |
{ | |
"begin": 111, | |
"end": 144, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 150, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "tag", | |
"source": 5, | |
"value": "3" | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 226, | |
"end": 232, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 275, | |
"end": 277, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 263, | |
"end": 272, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 254, | |
"end": 261, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 250, | |
"end": 273, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 246, | |
"end": 278, | |
"name": "SLT", | |
"source": 5 | |
}, | |
{ | |
"begin": 243, | |
"end": 362, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 243, | |
"end": 362, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "15" | |
}, | |
{ | |
"begin": 243, | |
"end": 362, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 281, | |
"end": 360, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "16" | |
}, | |
{ | |
"begin": 281, | |
"end": 360, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "17" | |
}, | |
{ | |
"begin": 281, | |
"end": 360, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 281, | |
"end": 360, | |
"name": "tag", | |
"source": 5, | |
"value": "16" | |
}, | |
{ | |
"begin": 281, | |
"end": 360, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 243, | |
"end": 362, | |
"name": "tag", | |
"source": 5, | |
"value": "15" | |
}, | |
{ | |
"begin": 243, | |
"end": 362, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 401, | |
"end": 402, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 490, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "18" | |
}, | |
{ | |
"begin": 482, | |
"end": 489, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 473, | |
"end": 479, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 462, | |
"end": 471, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 458, | |
"end": 480, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 426, | |
"end": 490, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "10" | |
}, | |
{ | |
"begin": 426, | |
"end": 490, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 426, | |
"end": 490, | |
"name": "tag", | |
"source": 5, | |
"value": "18" | |
}, | |
{ | |
"begin": 426, | |
"end": 490, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 416, | |
"end": 490, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 416, | |
"end": 490, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 372, | |
"end": 500, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 156, | |
"end": 507, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "tag", | |
"source": 5, | |
"value": "21" | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 631, | |
"end": 638, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 660, | |
"end": 684, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "23" | |
}, | |
{ | |
"begin": 678, | |
"end": 683, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 660, | |
"end": 684, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "24" | |
}, | |
{ | |
"begin": 660, | |
"end": 684, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 660, | |
"end": 684, | |
"name": "tag", | |
"source": 5, | |
"value": "23" | |
}, | |
{ | |
"begin": 660, | |
"end": 684, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 649, | |
"end": 684, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 649, | |
"end": 684, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 594, | |
"end": 690, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "tag", | |
"source": 5, | |
"value": "24" | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 733, | |
"end": 740, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 773, | |
"end": 815, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 766, | |
"end": 771, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 762, | |
"end": 816, | |
"name": "AND", | |
"source": 5 | |
}, | |
{ | |
"begin": 751, | |
"end": 816, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 751, | |
"end": 816, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 696, | |
"end": 822, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 951, | |
"end": 1068, | |
"name": "tag", | |
"source": 5, | |
"value": "17" | |
}, | |
{ | |
"begin": 951, | |
"end": 1068, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1060, | |
"end": 1061, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1057, | |
"end": 1058, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 1050, | |
"end": 1062, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 1074, | |
"end": 1196, | |
"name": "tag", | |
"source": 5, | |
"value": "13" | |
}, | |
{ | |
"begin": 1074, | |
"end": 1196, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1147, | |
"end": 1171, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "30" | |
}, | |
{ | |
"begin": 1165, | |
"end": 1170, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1147, | |
"end": 1171, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "21" | |
}, | |
{ | |
"begin": 1147, | |
"end": 1171, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1147, | |
"end": 1171, | |
"name": "tag", | |
"source": 5, | |
"value": "30" | |
}, | |
{ | |
"begin": 1147, | |
"end": 1171, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1140, | |
"end": 1145, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1137, | |
"end": 1172, | |
"name": "EQ", | |
"source": 5 | |
}, | |
{ | |
"begin": 1127, | |
"end": 1190, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "31" | |
}, | |
{ | |
"begin": 1127, | |
"end": 1190, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 1186, | |
"end": 1187, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1183, | |
"end": 1184, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1188, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 1127, | |
"end": 1190, | |
"name": "tag", | |
"source": 5, | |
"value": "31" | |
}, | |
{ | |
"begin": 1127, | |
"end": 1190, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1074, | |
"end": 1196, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1074, | |
"end": 1196, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "tag", | |
"source": 4, | |
"value": "8" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH #[$]", | |
"source": 4, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [$]", | |
"source": 4, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "CODECOPY", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "RETURN", | |
"source": 4 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220cd1b56cb06d9b3d9420d4e313ac290524008f76b2b4075d04674004ac8db606564736f6c63430008070033", | |
".code": [ | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "80" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "MSTORE", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "CALLVALUE", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "ISZERO", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "tag", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "CALLDATASIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "LT", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "CALLDATALOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "E0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "SHR", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "34D8C67A" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "3" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "484C2D97" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "5" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPI", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "tag", | |
"source": 4, | |
"value": "2" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 547, | |
"end": 934, | |
"name": "REVERT", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "3" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "6" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "7" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "6" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "8" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "9" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "8" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "RETURN", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "tag", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "10" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "PUSH", | |
"source": 4, | |
"value": "4" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "CALLDATASIZE", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "ADD", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "11" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "12" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "tag", | |
"source": 4, | |
"value": "11" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "13" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "tag", | |
"source": 4, | |
"value": "10" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "STOP", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "5" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "14" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "15" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "14" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "16" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "17" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "16" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "RETURN", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "tag", | |
"source": 4, | |
"value": "7" | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 499, | |
"end": 503, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "DIV", | |
"source": 4 | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 532, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 528, | |
"name": "CALLER", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 518, | |
"end": 538, | |
"name": "EQ", | |
"source": 4 | |
}, | |
{ | |
"begin": 511, | |
"end": 538, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 511, | |
"end": 538, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 452, | |
"end": 543, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "tag", | |
"source": 4, | |
"value": "13" | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "20" | |
}, | |
{ | |
"begin": 867, | |
"end": 877, | |
"name": "CALLER", | |
"source": 4 | |
}, | |
{ | |
"begin": 879, | |
"end": 882, | |
"name": "DUP5", | |
"source": 4 | |
}, | |
{ | |
"begin": 884, | |
"end": 891, | |
"name": "DUP5", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "PUSH", | |
"source": 4, | |
"value": "1" | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "DIV", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 843, | |
"end": 849, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 866, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 843, | |
"end": 866, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 866, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "21" | |
}, | |
{ | |
"begin": 843, | |
"end": 866, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "SWAP4", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "SWAP3", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFF" | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "tag", | |
"source": 4, | |
"value": "20" | |
}, | |
{ | |
"begin": 843, | |
"end": 892, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "PUSH", | |
"source": 4, | |
"value": "507B63B9389BC8A170FC6414C21BBABD354A33470E499CBFD5CBC2FD4A6CDE38" | |
}, | |
{ | |
"begin": 919, | |
"end": 926, | |
"name": "DUP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "22" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "PUSH [tag]", | |
"source": 4, | |
"value": "23" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "tag", | |
"source": 4, | |
"value": "22" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "PUSH", | |
"source": 4, | |
"value": "40" | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "MLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "SWAP2", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "SUB", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 903, | |
"end": 927, | |
"name": "LOG1", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 738, | |
"end": 932, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "tag", | |
"source": 4, | |
"value": "15" | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMPDEST", | |
"source": 4 | |
}, | |
{ | |
"begin": 316, | |
"end": 323, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "DUP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "0" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SLOAD", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "100" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "EXP", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "DIV", | |
"source": 4 | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "PUSH", | |
"source": 4, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 338, | |
"end": 344, | |
"name": "AND", | |
"source": 4 | |
}, | |
{ | |
"begin": 331, | |
"end": 344, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 331, | |
"end": 344, | |
"name": "POP", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "SWAP1", | |
"source": 4 | |
}, | |
{ | |
"begin": 278, | |
"end": 349, | |
"name": "JUMP", | |
"source": 4, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "tag", | |
"source": 2, | |
"value": "21" | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1112, | |
"end": 1208, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "26" | |
}, | |
{ | |
"begin": 1132, | |
"end": 1137, | |
"name": "DUP5", | |
"source": 2 | |
}, | |
{ | |
"begin": 1162, | |
"end": 1189, | |
"name": "PUSH", | |
"source": 2, | |
"value": "23B872DD" | |
}, | |
{ | |
"begin": 1162, | |
"end": 1189, | |
"name": "PUSH", | |
"source": 2, | |
"value": "E0" | |
}, | |
{ | |
"begin": 1162, | |
"end": 1189, | |
"name": "SHL", | |
"source": 2 | |
}, | |
{ | |
"begin": 1191, | |
"end": 1195, | |
"name": "DUP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 1197, | |
"end": 1199, | |
"name": "DUP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 1201, | |
"end": 1206, | |
"name": "DUP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "24" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "27" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "28" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "tag", | |
"source": 2, | |
"value": "27" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SUB", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SUB", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "NOT", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "OR", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1139, | |
"end": 1207, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1112, | |
"end": 1131, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "29" | |
}, | |
{ | |
"begin": 1112, | |
"end": 1208, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1112, | |
"end": 1208, | |
"name": "tag", | |
"source": 2, | |
"value": "26" | |
}, | |
{ | |
"begin": 1112, | |
"end": 1208, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 974, | |
"end": 1215, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 3747, | |
"end": 4453, | |
"name": "tag", | |
"source": 2, | |
"value": "29" | |
}, | |
{ | |
"begin": 3747, | |
"end": 4453, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 4166, | |
"end": 4189, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "31" | |
}, | |
{ | |
"begin": 4220, | |
"end": 4224, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "5361666545524332303A206C6F772D6C6576656C2063616C6C206661696C6564" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 4200, | |
"end": 4205, | |
"name": "DUP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4219, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4219, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4219, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "32" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4219, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFF" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "tag", | |
"source": 2, | |
"value": "31" | |
}, | |
{ | |
"begin": 4192, | |
"end": 4261, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 4166, | |
"end": 4261, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4166, | |
"end": 4261, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 4295, | |
"end": 4296, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 4275, | |
"end": 4285, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4275, | |
"end": 4292, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4275, | |
"end": 4296, | |
"name": "GT", | |
"source": 2 | |
}, | |
{ | |
"begin": 4271, | |
"end": 4447, | |
"name": "ISZERO", | |
"source": 2 | |
}, | |
{ | |
"begin": 4271, | |
"end": 4447, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "33" | |
}, | |
{ | |
"begin": 4271, | |
"end": 4447, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 4370, | |
"end": 4380, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "34" | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "35" | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "tag", | |
"source": 2, | |
"value": "34" | |
}, | |
{ | |
"begin": 4359, | |
"end": 4389, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "36" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH", | |
"source": 2, | |
"value": "8C379A000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "38" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "tag", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "SUB", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "tag", | |
"source": 2, | |
"value": "36" | |
}, | |
{ | |
"begin": 4351, | |
"end": 4436, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 4271, | |
"end": 4447, | |
"name": "tag", | |
"source": 2, | |
"value": "33" | |
}, | |
{ | |
"begin": 4271, | |
"end": 4447, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 3817, | |
"end": 4453, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 3747, | |
"end": 4453, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 3747, | |
"end": 4453, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 3747, | |
"end": 4453, | |
"name": "JUMP", | |
"source": 2, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "tag", | |
"source": 3, | |
"value": "32" | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3994, | |
"end": 4006, | |
"name": "PUSH", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 4025, | |
"end": 4077, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 4047, | |
"end": 4053, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 4055, | |
"end": 4059, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 4061, | |
"end": 4062, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4064, | |
"end": 4076, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 4025, | |
"end": 4046, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "41" | |
}, | |
{ | |
"begin": 4025, | |
"end": 4077, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4025, | |
"end": 4077, | |
"name": "tag", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 4025, | |
"end": 4077, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4018, | |
"end": 4077, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 4018, | |
"end": 4077, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "SWAP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3861, | |
"end": 4084, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "tag", | |
"source": 3, | |
"value": "41" | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5113, | |
"end": 5125, | |
"name": "PUSH", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 5170, | |
"end": 5175, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5145, | |
"end": 5166, | |
"name": "SELFBALANCE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5145, | |
"end": 5175, | |
"name": "LT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5145, | |
"end": 5175, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "43" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH", | |
"source": 3, | |
"value": "8C379A000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "44" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "45" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "tag", | |
"source": 3, | |
"value": "44" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "tag", | |
"source": 3, | |
"value": "43" | |
}, | |
{ | |
"begin": 5137, | |
"end": 5218, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5236, | |
"end": 5254, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "46" | |
}, | |
{ | |
"begin": 5247, | |
"end": 5253, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5236, | |
"end": 5246, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "47" | |
}, | |
{ | |
"begin": 5236, | |
"end": 5254, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5236, | |
"end": 5254, | |
"name": "tag", | |
"source": 3, | |
"value": "46" | |
}, | |
{ | |
"begin": 5236, | |
"end": 5254, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "48" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH", | |
"source": 3, | |
"value": "8C379A000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "49" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "50" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "tag", | |
"source": 3, | |
"value": "49" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "tag", | |
"source": 3, | |
"value": "48" | |
}, | |
{ | |
"begin": 5228, | |
"end": 5288, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5300, | |
"end": 5312, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5314, | |
"end": 5337, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5347, | |
"name": "DUP7", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5352, | |
"name": "PUSH", | |
"source": 3, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5352, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 5360, | |
"end": 5365, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5367, | |
"end": 5371, | |
"name": "DUP8", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "51" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "52" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "tag", | |
"source": 3, | |
"value": "51" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP8", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "GAS", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "CALL", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "RETURNDATASIZE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "55" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "1F" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "NOT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "3F" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "RETURNDATASIZE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "RETURNDATASIZE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "RETURNDATASIZE", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "RETURNDATACOPY", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "54" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "tag", | |
"source": 3, | |
"value": "55" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "PUSH", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "tag", | |
"source": 3, | |
"value": "54" | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5341, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5299, | |
"end": 5372, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5299, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5299, | |
"end": 5372, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5299, | |
"end": 5372, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5389, | |
"end": 5440, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 5406, | |
"end": 5413, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5415, | |
"end": 5425, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5427, | |
"end": 5439, | |
"name": "DUP7", | |
"source": 3 | |
}, | |
{ | |
"begin": 5389, | |
"end": 5405, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "57" | |
}, | |
{ | |
"begin": 5389, | |
"end": 5440, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5389, | |
"end": 5440, | |
"name": "tag", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 5389, | |
"end": 5440, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5382, | |
"end": 5440, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5382, | |
"end": 5440, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5382, | |
"end": 5440, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5382, | |
"end": 5440, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "SWAP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "SWAP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4948, | |
"end": 5447, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "tag", | |
"source": 3, | |
"value": "47" | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1239, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1487, | |
"end": 1488, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1465, | |
"end": 1472, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1465, | |
"end": 1484, | |
"name": "PUSH", | |
"source": 3, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1465, | |
"end": 1484, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 1465, | |
"end": 1484, | |
"name": "EXTCODESIZE", | |
"source": 3 | |
}, | |
{ | |
"begin": 1465, | |
"end": 1488, | |
"name": "GT", | |
"source": 3 | |
}, | |
{ | |
"begin": 1458, | |
"end": 1488, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1458, | |
"end": 1488, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1175, | |
"end": 1495, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "tag", | |
"source": 3, | |
"value": "57" | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 7707, | |
"end": 7719, | |
"name": "PUSH", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 7735, | |
"end": 7742, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 7731, | |
"end": 8297, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 7731, | |
"end": 8297, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 7731, | |
"end": 8297, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 7765, | |
"end": 7775, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 7758, | |
"end": 7775, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 7758, | |
"end": 7775, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7758, | |
"end": 7775, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "59" | |
}, | |
{ | |
"begin": 7758, | |
"end": 7775, | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7731, | |
"end": 8297, | |
"name": "tag", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 7731, | |
"end": 8297, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 7896, | |
"end": 7897, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 7876, | |
"end": 7886, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 7876, | |
"end": 7893, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 7876, | |
"end": 7897, | |
"name": "GT", | |
"source": 3 | |
}, | |
{ | |
"begin": 7872, | |
"end": 8287, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 7872, | |
"end": 8287, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "62" | |
}, | |
{ | |
"begin": 7872, | |
"end": 8287, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 8120, | |
"end": 8130, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 8114, | |
"end": 8131, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 8180, | |
"end": 8195, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 8167, | |
"end": 8177, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 8163, | |
"end": 8165, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 8159, | |
"end": 8178, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 8152, | |
"end": 8196, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 7872, | |
"end": 8287, | |
"name": "tag", | |
"source": 3, | |
"value": "62" | |
}, | |
{ | |
"begin": 7872, | |
"end": 8287, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 8259, | |
"end": 8271, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH", | |
"source": 3, | |
"value": "8C379A000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "23" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "tag", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 8252, | |
"end": 8272, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "tag", | |
"source": 3, | |
"value": "59" | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "SWAP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7561, | |
"end": 8303, | |
"name": "JUMP", | |
"source": 3, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "tag", | |
"source": 5, | |
"value": "66" | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 85, | |
"end": 90, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 110, | |
"end": 176, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "68" | |
}, | |
{ | |
"begin": 126, | |
"end": 175, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "69" | |
}, | |
{ | |
"begin": 168, | |
"end": 174, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 126, | |
"end": 175, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "70" | |
}, | |
{ | |
"begin": 126, | |
"end": 175, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 126, | |
"end": 175, | |
"name": "tag", | |
"source": 5, | |
"value": "69" | |
}, | |
{ | |
"begin": 126, | |
"end": 175, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 110, | |
"end": 176, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "71" | |
}, | |
{ | |
"begin": 110, | |
"end": 176, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 110, | |
"end": 176, | |
"name": "tag", | |
"source": 5, | |
"value": "68" | |
}, | |
{ | |
"begin": 110, | |
"end": 176, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 101, | |
"end": 176, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 101, | |
"end": 176, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 199, | |
"end": 205, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 192, | |
"end": 197, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 185, | |
"end": 206, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 237, | |
"end": 241, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 230, | |
"end": 235, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 226, | |
"end": 242, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 275, | |
"end": 278, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 266, | |
"end": 272, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 261, | |
"end": 264, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 257, | |
"end": 273, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 254, | |
"end": 279, | |
"name": "GT", | |
"source": 5 | |
}, | |
{ | |
"begin": 251, | |
"end": 363, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 251, | |
"end": 363, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "72" | |
}, | |
{ | |
"begin": 251, | |
"end": 363, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 282, | |
"end": 361, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "73" | |
}, | |
{ | |
"begin": 282, | |
"end": 361, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "74" | |
}, | |
{ | |
"begin": 282, | |
"end": 361, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 282, | |
"end": 361, | |
"name": "tag", | |
"source": 5, | |
"value": "73" | |
}, | |
{ | |
"begin": 282, | |
"end": 361, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 251, | |
"end": 363, | |
"name": "tag", | |
"source": 5, | |
"value": "72" | |
}, | |
{ | |
"begin": 251, | |
"end": 363, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 372, | |
"end": 413, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "75" | |
}, | |
{ | |
"begin": 406, | |
"end": 412, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 401, | |
"end": 404, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 396, | |
"end": 399, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 372, | |
"end": 413, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "76" | |
}, | |
{ | |
"begin": 372, | |
"end": 413, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 372, | |
"end": 413, | |
"name": "tag", | |
"source": 5, | |
"value": "75" | |
}, | |
{ | |
"begin": 372, | |
"end": 413, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 91, | |
"end": 419, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "SWAP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7, | |
"end": 419, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "tag", | |
"source": 5, | |
"value": "77" | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 471, | |
"end": 476, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 509, | |
"end": 515, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 496, | |
"end": 516, | |
"name": "CALLDATALOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 487, | |
"end": 516, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 487, | |
"end": 516, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 525, | |
"end": 558, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "79" | |
}, | |
{ | |
"begin": 552, | |
"end": 557, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 525, | |
"end": 558, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "80" | |
}, | |
{ | |
"begin": 525, | |
"end": 558, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 525, | |
"end": 558, | |
"name": "tag", | |
"source": 5, | |
"value": "79" | |
}, | |
{ | |
"begin": 525, | |
"end": 558, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 425, | |
"end": 564, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "tag", | |
"source": 5, | |
"value": "81" | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 624, | |
"end": 629, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 655, | |
"end": 661, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 649, | |
"end": 662, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 640, | |
"end": 662, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 640, | |
"end": 662, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 671, | |
"end": 701, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "83" | |
}, | |
{ | |
"begin": 695, | |
"end": 700, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 671, | |
"end": 701, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "84" | |
}, | |
{ | |
"begin": 671, | |
"end": 701, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 671, | |
"end": 701, | |
"name": "tag", | |
"source": 5, | |
"value": "83" | |
}, | |
{ | |
"begin": 671, | |
"end": 701, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 570, | |
"end": 707, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "tag", | |
"source": 5, | |
"value": "85" | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 783, | |
"end": 788, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 832, | |
"end": 835, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 825, | |
"end": 829, | |
"name": "PUSH", | |
"source": 5, | |
"value": "1F" | |
}, | |
{ | |
"begin": 817, | |
"end": 823, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 813, | |
"end": 830, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 809, | |
"end": 836, | |
"name": "SLT", | |
"source": 5 | |
}, | |
{ | |
"begin": 799, | |
"end": 921, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "87" | |
}, | |
{ | |
"begin": 799, | |
"end": 921, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 840, | |
"end": 919, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "88" | |
}, | |
{ | |
"begin": 840, | |
"end": 919, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "89" | |
}, | |
{ | |
"begin": 840, | |
"end": 919, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 840, | |
"end": 919, | |
"name": "tag", | |
"source": 5, | |
"value": "88" | |
}, | |
{ | |
"begin": 840, | |
"end": 919, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 799, | |
"end": 921, | |
"name": "tag", | |
"source": 5, | |
"value": "87" | |
}, | |
{ | |
"begin": 799, | |
"end": 921, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 957, | |
"end": 963, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 944, | |
"end": 964, | |
"name": "CALLDATALOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 982, | |
"end": 1061, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "90" | |
}, | |
{ | |
"begin": 1057, | |
"end": 1060, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 1049, | |
"end": 1055, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1042, | |
"end": 1046, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 1034, | |
"end": 1040, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1047, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 982, | |
"end": 1061, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "66" | |
}, | |
{ | |
"begin": 982, | |
"end": 1061, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 982, | |
"end": 1061, | |
"name": "tag", | |
"source": 5, | |
"value": "90" | |
}, | |
{ | |
"begin": 982, | |
"end": 1061, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 973, | |
"end": 1061, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 973, | |
"end": 1061, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 789, | |
"end": 1067, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 727, | |
"end": 1067, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "tag", | |
"source": 5, | |
"value": "91" | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1119, | |
"end": 1124, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1157, | |
"end": 1163, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1144, | |
"end": 1164, | |
"name": "CALLDATALOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1135, | |
"end": 1164, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 1135, | |
"end": 1164, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1173, | |
"end": 1206, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "93" | |
}, | |
{ | |
"begin": 1200, | |
"end": 1205, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1173, | |
"end": 1206, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "94" | |
}, | |
{ | |
"begin": 1173, | |
"end": 1206, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1173, | |
"end": 1206, | |
"name": "tag", | |
"source": 5, | |
"value": "93" | |
}, | |
{ | |
"begin": 1173, | |
"end": 1206, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1073, | |
"end": 1212, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "tag", | |
"source": 5, | |
"value": "12" | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1305, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1313, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 1321, | |
"end": 1327, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1370, | |
"end": 1372, | |
"name": "PUSH", | |
"source": 5, | |
"value": "60" | |
}, | |
{ | |
"begin": 1358, | |
"end": 1367, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 1349, | |
"end": 1356, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 1345, | |
"end": 1368, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 1341, | |
"end": 1373, | |
"name": "SLT", | |
"source": 5 | |
}, | |
{ | |
"begin": 1338, | |
"end": 1457, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 1338, | |
"end": 1457, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "96" | |
}, | |
{ | |
"begin": 1338, | |
"end": 1457, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 1376, | |
"end": 1455, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "97" | |
}, | |
{ | |
"begin": 1376, | |
"end": 1455, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "98" | |
}, | |
{ | |
"begin": 1376, | |
"end": 1455, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1376, | |
"end": 1455, | |
"name": "tag", | |
"source": 5, | |
"value": "97" | |
}, | |
{ | |
"begin": 1376, | |
"end": 1455, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1338, | |
"end": 1457, | |
"name": "tag", | |
"source": 5, | |
"value": "96" | |
}, | |
{ | |
"begin": 1338, | |
"end": 1457, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1496, | |
"end": 1497, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 1521, | |
"end": 1574, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "99" | |
}, | |
{ | |
"begin": 1566, | |
"end": 1573, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 1557, | |
"end": 1563, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1546, | |
"end": 1555, | |
"name": "DUP8", | |
"source": 5 | |
}, | |
{ | |
"begin": 1542, | |
"end": 1564, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1521, | |
"end": 1574, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "77" | |
}, | |
{ | |
"begin": 1521, | |
"end": 1574, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1521, | |
"end": 1574, | |
"name": "tag", | |
"source": 5, | |
"value": "99" | |
}, | |
{ | |
"begin": 1521, | |
"end": 1574, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1511, | |
"end": 1574, | |
"name": "SWAP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 1511, | |
"end": 1574, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1467, | |
"end": 1584, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1623, | |
"end": 1625, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 1649, | |
"end": 1702, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "100" | |
}, | |
{ | |
"begin": 1694, | |
"end": 1701, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 1685, | |
"end": 1691, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1674, | |
"end": 1683, | |
"name": "DUP8", | |
"source": 5 | |
}, | |
{ | |
"begin": 1670, | |
"end": 1692, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1649, | |
"end": 1702, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "91" | |
}, | |
{ | |
"begin": 1649, | |
"end": 1702, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1649, | |
"end": 1702, | |
"name": "tag", | |
"source": 5, | |
"value": "100" | |
}, | |
{ | |
"begin": 1649, | |
"end": 1702, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1639, | |
"end": 1702, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1639, | |
"end": 1702, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1594, | |
"end": 1712, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1779, | |
"end": 1781, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 1768, | |
"end": 1777, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 1764, | |
"end": 1782, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1751, | |
"end": 1783, | |
"name": "CALLDATALOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1810, | |
"end": 1828, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1802, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1829, | |
"name": "GT", | |
"source": 5 | |
}, | |
{ | |
"begin": 1796, | |
"end": 1913, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 1796, | |
"end": 1913, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "101" | |
}, | |
{ | |
"begin": 1796, | |
"end": 1913, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 1832, | |
"end": 1911, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "102" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1911, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "103" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1911, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1911, | |
"name": "tag", | |
"source": 5, | |
"value": "102" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1911, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1796, | |
"end": 1913, | |
"name": "tag", | |
"source": 5, | |
"value": "101" | |
}, | |
{ | |
"begin": 1796, | |
"end": 1913, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1937, | |
"end": 2000, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "104" | |
}, | |
{ | |
"begin": 1992, | |
"end": 1999, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 1983, | |
"end": 1989, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1972, | |
"end": 1981, | |
"name": "DUP8", | |
"source": 5 | |
}, | |
{ | |
"begin": 1968, | |
"end": 1990, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 1937, | |
"end": 2000, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "85" | |
}, | |
{ | |
"begin": 1937, | |
"end": 2000, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 1937, | |
"end": 2000, | |
"name": "tag", | |
"source": 5, | |
"value": "104" | |
}, | |
{ | |
"begin": 1937, | |
"end": 2000, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 1927, | |
"end": 2000, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 1927, | |
"end": 2000, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1722, | |
"end": 2010, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 1218, | |
"end": 2017, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "tag", | |
"source": 5, | |
"value": "35" | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2090, | |
"end": 2096, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 2139, | |
"end": 2141, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 2127, | |
"end": 2136, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2118, | |
"end": 2125, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 2114, | |
"end": 2137, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 2110, | |
"end": 2142, | |
"name": "SLT", | |
"source": 5 | |
}, | |
{ | |
"begin": 2107, | |
"end": 2226, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 2107, | |
"end": 2226, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "106" | |
}, | |
{ | |
"begin": 2107, | |
"end": 2226, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 2145, | |
"end": 2224, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "107" | |
}, | |
{ | |
"begin": 2145, | |
"end": 2224, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "98" | |
}, | |
{ | |
"begin": 2145, | |
"end": 2224, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2145, | |
"end": 2224, | |
"name": "tag", | |
"source": 5, | |
"value": "107" | |
}, | |
{ | |
"begin": 2145, | |
"end": 2224, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2107, | |
"end": 2226, | |
"name": "tag", | |
"source": 5, | |
"value": "106" | |
}, | |
{ | |
"begin": 2107, | |
"end": 2226, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2265, | |
"end": 2266, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 2290, | |
"end": 2351, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "108" | |
}, | |
{ | |
"begin": 2343, | |
"end": 2350, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 2334, | |
"end": 2340, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2323, | |
"end": 2332, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 2319, | |
"end": 2341, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 2290, | |
"end": 2351, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "81" | |
}, | |
{ | |
"begin": 2290, | |
"end": 2351, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2290, | |
"end": 2351, | |
"name": "tag", | |
"source": 5, | |
"value": "108" | |
}, | |
{ | |
"begin": 2290, | |
"end": 2351, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2280, | |
"end": 2351, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2280, | |
"end": 2351, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2236, | |
"end": 2361, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2023, | |
"end": 2368, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 2374, | |
"end": 2492, | |
"name": "tag", | |
"source": 5, | |
"value": "109" | |
}, | |
{ | |
"begin": 2374, | |
"end": 2492, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2461, | |
"end": 2485, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "111" | |
}, | |
{ | |
"begin": 2479, | |
"end": 2484, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2461, | |
"end": 2485, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "112" | |
}, | |
{ | |
"begin": 2461, | |
"end": 2485, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2461, | |
"end": 2485, | |
"name": "tag", | |
"source": 5, | |
"value": "111" | |
}, | |
{ | |
"begin": 2461, | |
"end": 2485, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2456, | |
"end": 2459, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2449, | |
"end": 2486, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 2374, | |
"end": 2492, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2374, | |
"end": 2492, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2374, | |
"end": 2492, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 2498, | |
"end": 2607, | |
"name": "tag", | |
"source": 5, | |
"value": "113" | |
}, | |
{ | |
"begin": 2498, | |
"end": 2607, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2579, | |
"end": 2600, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "115" | |
}, | |
{ | |
"begin": 2594, | |
"end": 2599, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2579, | |
"end": 2600, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "116" | |
}, | |
{ | |
"begin": 2579, | |
"end": 2600, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2579, | |
"end": 2600, | |
"name": "tag", | |
"source": 5, | |
"value": "115" | |
}, | |
{ | |
"begin": 2579, | |
"end": 2600, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2577, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2567, | |
"end": 2601, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 2498, | |
"end": 2607, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2498, | |
"end": 2607, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2498, | |
"end": 2607, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "tag", | |
"source": 5, | |
"value": "117" | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2717, | |
"end": 2720, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 2745, | |
"end": 2783, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "119" | |
}, | |
{ | |
"begin": 2777, | |
"end": 2782, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2745, | |
"end": 2783, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "120" | |
}, | |
{ | |
"begin": 2745, | |
"end": 2783, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2745, | |
"end": 2783, | |
"name": "tag", | |
"source": 5, | |
"value": "119" | |
}, | |
{ | |
"begin": 2745, | |
"end": 2783, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2799, | |
"end": 2887, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "121" | |
}, | |
{ | |
"begin": 2880, | |
"end": 2886, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2875, | |
"end": 2878, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 2799, | |
"end": 2887, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "122" | |
}, | |
{ | |
"begin": 2799, | |
"end": 2887, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2799, | |
"end": 2887, | |
"name": "tag", | |
"source": 5, | |
"value": "121" | |
}, | |
{ | |
"begin": 2799, | |
"end": 2887, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2792, | |
"end": 2887, | |
"name": "SWAP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 2792, | |
"end": 2887, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2896, | |
"end": 2948, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "123" | |
}, | |
{ | |
"begin": 2941, | |
"end": 2947, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2936, | |
"end": 2939, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 2929, | |
"end": 2933, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 2922, | |
"end": 2927, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 2918, | |
"end": 2934, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 2896, | |
"end": 2948, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "124" | |
}, | |
{ | |
"begin": 2896, | |
"end": 2948, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 2896, | |
"end": 2948, | |
"name": "tag", | |
"source": 5, | |
"value": "123" | |
}, | |
{ | |
"begin": 2896, | |
"end": 2948, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 2973, | |
"end": 2979, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 2968, | |
"end": 2971, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 2964, | |
"end": 2980, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 2957, | |
"end": 2980, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2957, | |
"end": 2980, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2721, | |
"end": 2986, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2986, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "tag", | |
"source": 5, | |
"value": "125" | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3080, | |
"end": 3083, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 3108, | |
"end": 3147, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "127" | |
}, | |
{ | |
"begin": 3141, | |
"end": 3146, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 3108, | |
"end": 3147, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "128" | |
}, | |
{ | |
"begin": 3108, | |
"end": 3147, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3108, | |
"end": 3147, | |
"name": "tag", | |
"source": 5, | |
"value": "127" | |
}, | |
{ | |
"begin": 3108, | |
"end": 3147, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3163, | |
"end": 3234, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "129" | |
}, | |
{ | |
"begin": 3227, | |
"end": 3233, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3222, | |
"end": 3225, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 3163, | |
"end": 3234, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "130" | |
}, | |
{ | |
"begin": 3163, | |
"end": 3234, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3163, | |
"end": 3234, | |
"name": "tag", | |
"source": 5, | |
"value": "129" | |
}, | |
{ | |
"begin": 3163, | |
"end": 3234, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3156, | |
"end": 3234, | |
"name": "SWAP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 3156, | |
"end": 3234, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3243, | |
"end": 3295, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "131" | |
}, | |
{ | |
"begin": 3288, | |
"end": 3294, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3283, | |
"end": 3286, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 3276, | |
"end": 3280, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 3269, | |
"end": 3274, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 3265, | |
"end": 3281, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 3243, | |
"end": 3295, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "124" | |
}, | |
{ | |
"begin": 3243, | |
"end": 3295, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3243, | |
"end": 3295, | |
"name": "tag", | |
"source": 5, | |
"value": "131" | |
}, | |
{ | |
"begin": 3243, | |
"end": 3295, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3320, | |
"end": 3349, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "132" | |
}, | |
{ | |
"begin": 3342, | |
"end": 3348, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3320, | |
"end": 3349, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "133" | |
}, | |
{ | |
"begin": 3320, | |
"end": 3349, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3320, | |
"end": 3349, | |
"name": "tag", | |
"source": 5, | |
"value": "132" | |
}, | |
{ | |
"begin": 3320, | |
"end": 3349, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3315, | |
"end": 3318, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 3311, | |
"end": 3350, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 3304, | |
"end": 3350, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3304, | |
"end": 3350, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3084, | |
"end": 3356, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 2992, | |
"end": 3356, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "tag", | |
"source": 5, | |
"value": "134" | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3504, | |
"end": 3507, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 3525, | |
"end": 3592, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "136" | |
}, | |
{ | |
"begin": 3589, | |
"end": 3591, | |
"name": "PUSH", | |
"source": 5, | |
"value": "26" | |
}, | |
{ | |
"begin": 3584, | |
"end": 3587, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 3525, | |
"end": 3592, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "130" | |
}, | |
{ | |
"begin": 3525, | |
"end": 3592, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3525, | |
"end": 3592, | |
"name": "tag", | |
"source": 5, | |
"value": "136" | |
}, | |
{ | |
"begin": 3525, | |
"end": 3592, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3518, | |
"end": 3592, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3518, | |
"end": 3592, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3601, | |
"end": 3694, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "137" | |
}, | |
{ | |
"begin": 3690, | |
"end": 3693, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 3601, | |
"end": 3694, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "138" | |
}, | |
{ | |
"begin": 3601, | |
"end": 3694, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3601, | |
"end": 3694, | |
"name": "tag", | |
"source": 5, | |
"value": "137" | |
}, | |
{ | |
"begin": 3601, | |
"end": 3694, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3719, | |
"end": 3721, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 3714, | |
"end": 3717, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 3710, | |
"end": 3722, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 3703, | |
"end": 3722, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 3703, | |
"end": 3722, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3362, | |
"end": 3728, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "tag", | |
"source": 5, | |
"value": "139" | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3876, | |
"end": 3879, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 3897, | |
"end": 3964, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "141" | |
}, | |
{ | |
"begin": 3961, | |
"end": 3963, | |
"name": "PUSH", | |
"source": 5, | |
"value": "1D" | |
}, | |
{ | |
"begin": 3956, | |
"end": 3959, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 3897, | |
"end": 3964, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "130" | |
}, | |
{ | |
"begin": 3897, | |
"end": 3964, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3897, | |
"end": 3964, | |
"name": "tag", | |
"source": 5, | |
"value": "141" | |
}, | |
{ | |
"begin": 3897, | |
"end": 3964, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 3890, | |
"end": 3964, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3890, | |
"end": 3964, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3973, | |
"end": 4066, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "142" | |
}, | |
{ | |
"begin": 4062, | |
"end": 4065, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 3973, | |
"end": 4066, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "143" | |
}, | |
{ | |
"begin": 3973, | |
"end": 4066, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 3973, | |
"end": 4066, | |
"name": "tag", | |
"source": 5, | |
"value": "142" | |
}, | |
{ | |
"begin": 3973, | |
"end": 4066, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4091, | |
"end": 4093, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 4086, | |
"end": 4089, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4082, | |
"end": 4094, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 4075, | |
"end": 4094, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 4075, | |
"end": 4094, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 3734, | |
"end": 4100, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "tag", | |
"source": 5, | |
"value": "144" | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4248, | |
"end": 4251, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 4269, | |
"end": 4336, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "146" | |
}, | |
{ | |
"begin": 4333, | |
"end": 4335, | |
"name": "PUSH", | |
"source": 5, | |
"value": "2A" | |
}, | |
{ | |
"begin": 4328, | |
"end": 4331, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 4269, | |
"end": 4336, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "130" | |
}, | |
{ | |
"begin": 4269, | |
"end": 4336, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4269, | |
"end": 4336, | |
"name": "tag", | |
"source": 5, | |
"value": "146" | |
}, | |
{ | |
"begin": 4269, | |
"end": 4336, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4262, | |
"end": 4336, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4262, | |
"end": 4336, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4345, | |
"end": 4438, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "147" | |
}, | |
{ | |
"begin": 4434, | |
"end": 4437, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4345, | |
"end": 4438, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "148" | |
}, | |
{ | |
"begin": 4345, | |
"end": 4438, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4345, | |
"end": 4438, | |
"name": "tag", | |
"source": 5, | |
"value": "147" | |
}, | |
{ | |
"begin": 4345, | |
"end": 4438, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4463, | |
"end": 4465, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 4458, | |
"end": 4461, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4454, | |
"end": 4466, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 4447, | |
"end": 4466, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 4447, | |
"end": 4466, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4106, | |
"end": 4472, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 4478, | |
"end": 4596, | |
"name": "tag", | |
"source": 5, | |
"value": "149" | |
}, | |
{ | |
"begin": 4478, | |
"end": 4596, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4565, | |
"end": 4589, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "151" | |
}, | |
{ | |
"begin": 4583, | |
"end": 4588, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4565, | |
"end": 4589, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "152" | |
}, | |
{ | |
"begin": 4565, | |
"end": 4589, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4565, | |
"end": 4589, | |
"name": "tag", | |
"source": 5, | |
"value": "151" | |
}, | |
{ | |
"begin": 4565, | |
"end": 4589, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4560, | |
"end": 4563, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4553, | |
"end": 4590, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 4478, | |
"end": 4596, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4478, | |
"end": 4596, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4478, | |
"end": 4596, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "tag", | |
"source": 5, | |
"value": "52" | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4732, | |
"end": 4735, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 4754, | |
"end": 4847, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "154" | |
}, | |
{ | |
"begin": 4843, | |
"end": 4846, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4834, | |
"end": 4840, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 4754, | |
"end": 4847, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "117" | |
}, | |
{ | |
"begin": 4754, | |
"end": 4847, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 4754, | |
"end": 4847, | |
"name": "tag", | |
"source": 5, | |
"value": "154" | |
}, | |
{ | |
"begin": 4754, | |
"end": 4847, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4747, | |
"end": 4847, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4747, | |
"end": 4847, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4864, | |
"end": 4867, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4857, | |
"end": 4867, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 4857, | |
"end": 4867, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4602, | |
"end": 4873, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "tag", | |
"source": 5, | |
"value": "17" | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4972, | |
"end": 4976, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5010, | |
"end": 5012, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 4999, | |
"end": 5008, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4995, | |
"end": 5013, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 4987, | |
"end": 5013, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 4987, | |
"end": 5013, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5023, | |
"end": 5094, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "156" | |
}, | |
{ | |
"begin": 5091, | |
"end": 5092, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5080, | |
"end": 5089, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5076, | |
"end": 5093, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5067, | |
"end": 5073, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 5023, | |
"end": 5094, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "109" | |
}, | |
{ | |
"begin": 5023, | |
"end": 5094, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5023, | |
"end": 5094, | |
"name": "tag", | |
"source": 5, | |
"value": "156" | |
}, | |
{ | |
"begin": 5023, | |
"end": 5094, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 4879, | |
"end": 5101, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "tag", | |
"source": 5, | |
"value": "28" | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5256, | |
"end": 5260, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5294, | |
"end": 5296, | |
"name": "PUSH", | |
"source": 5, | |
"value": "60" | |
}, | |
{ | |
"begin": 5283, | |
"end": 5292, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 5279, | |
"end": 5297, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5271, | |
"end": 5297, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 5271, | |
"end": 5297, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5307, | |
"end": 5378, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "158" | |
}, | |
{ | |
"begin": 5375, | |
"end": 5376, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5364, | |
"end": 5373, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5360, | |
"end": 5377, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5351, | |
"end": 5357, | |
"name": "DUP7", | |
"source": 5 | |
}, | |
{ | |
"begin": 5307, | |
"end": 5378, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "109" | |
}, | |
{ | |
"begin": 5307, | |
"end": 5378, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5307, | |
"end": 5378, | |
"name": "tag", | |
"source": 5, | |
"value": "158" | |
}, | |
{ | |
"begin": 5307, | |
"end": 5378, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5388, | |
"end": 5460, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "159" | |
}, | |
{ | |
"begin": 5456, | |
"end": 5458, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 5445, | |
"end": 5454, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5441, | |
"end": 5459, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5432, | |
"end": 5438, | |
"name": "DUP6", | |
"source": 5 | |
}, | |
{ | |
"begin": 5388, | |
"end": 5460, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "109" | |
}, | |
{ | |
"begin": 5388, | |
"end": 5460, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5388, | |
"end": 5460, | |
"name": "tag", | |
"source": 5, | |
"value": "159" | |
}, | |
{ | |
"begin": 5388, | |
"end": 5460, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5470, | |
"end": 5542, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "160" | |
}, | |
{ | |
"begin": 5538, | |
"end": 5540, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 5527, | |
"end": 5536, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5523, | |
"end": 5541, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5514, | |
"end": 5520, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 5470, | |
"end": 5542, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "149" | |
}, | |
{ | |
"begin": 5470, | |
"end": 5542, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5470, | |
"end": 5542, | |
"name": "tag", | |
"source": 5, | |
"value": "160" | |
}, | |
{ | |
"begin": 5470, | |
"end": 5542, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "SWAP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "SWAP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5107, | |
"end": 5549, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "tag", | |
"source": 5, | |
"value": "9" | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5642, | |
"end": 5646, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5680, | |
"end": 5682, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 5669, | |
"end": 5678, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 5665, | |
"end": 5683, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5657, | |
"end": 5683, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 5657, | |
"end": 5683, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5693, | |
"end": 5758, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "162" | |
}, | |
{ | |
"begin": 5755, | |
"end": 5756, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5744, | |
"end": 5753, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5740, | |
"end": 5757, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5731, | |
"end": 5737, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 5693, | |
"end": 5758, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "113" | |
}, | |
{ | |
"begin": 5693, | |
"end": 5758, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5693, | |
"end": 5758, | |
"name": "tag", | |
"source": 5, | |
"value": "162" | |
}, | |
{ | |
"begin": 5693, | |
"end": 5758, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5555, | |
"end": 5765, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "tag", | |
"source": 5, | |
"value": "23" | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5884, | |
"end": 5888, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5922, | |
"end": 5924, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 5911, | |
"end": 5920, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 5907, | |
"end": 5925, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5899, | |
"end": 5925, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 5899, | |
"end": 5925, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5971, | |
"end": 5980, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 5965, | |
"end": 5969, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 5961, | |
"end": 5981, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 5957, | |
"end": 5958, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 5946, | |
"end": 5955, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 5942, | |
"end": 5959, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 5935, | |
"end": 5982, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 5999, | |
"end": 6077, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "164" | |
}, | |
{ | |
"begin": 6072, | |
"end": 6076, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6063, | |
"end": 6069, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 5999, | |
"end": 6077, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "125" | |
}, | |
{ | |
"begin": 5999, | |
"end": 6077, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 5999, | |
"end": 6077, | |
"name": "tag", | |
"source": 5, | |
"value": "164" | |
}, | |
{ | |
"begin": 5999, | |
"end": 6077, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 5991, | |
"end": 6077, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 5991, | |
"end": 6077, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 5771, | |
"end": 6084, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "tag", | |
"source": 5, | |
"value": "45" | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 6256, | |
"end": 6260, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 6294, | |
"end": 6296, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 6283, | |
"end": 6292, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 6279, | |
"end": 6297, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 6271, | |
"end": 6297, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6271, | |
"end": 6297, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6343, | |
"end": 6352, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6337, | |
"end": 6341, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6333, | |
"end": 6353, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 6329, | |
"end": 6330, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 6318, | |
"end": 6327, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 6314, | |
"end": 6331, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 6307, | |
"end": 6354, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 6371, | |
"end": 6502, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "166" | |
}, | |
{ | |
"begin": 6497, | |
"end": 6501, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6371, | |
"end": 6502, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "134" | |
}, | |
{ | |
"begin": 6371, | |
"end": 6502, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 6371, | |
"end": 6502, | |
"name": "tag", | |
"source": 5, | |
"value": "166" | |
}, | |
{ | |
"begin": 6371, | |
"end": 6502, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 6363, | |
"end": 6502, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6363, | |
"end": 6502, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6090, | |
"end": 6509, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "tag", | |
"source": 5, | |
"value": "50" | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 6681, | |
"end": 6685, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 6719, | |
"end": 6721, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 6708, | |
"end": 6717, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 6704, | |
"end": 6722, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 6696, | |
"end": 6722, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6696, | |
"end": 6722, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6768, | |
"end": 6777, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6762, | |
"end": 6766, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6758, | |
"end": 6778, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 6754, | |
"end": 6755, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 6743, | |
"end": 6752, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 6739, | |
"end": 6756, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 6732, | |
"end": 6779, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 6796, | |
"end": 6927, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "168" | |
}, | |
{ | |
"begin": 6922, | |
"end": 6926, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6796, | |
"end": 6927, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "139" | |
}, | |
{ | |
"begin": 6796, | |
"end": 6927, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 6796, | |
"end": 6927, | |
"name": "tag", | |
"source": 5, | |
"value": "168" | |
}, | |
{ | |
"begin": 6796, | |
"end": 6927, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 6788, | |
"end": 6927, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6788, | |
"end": 6927, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6515, | |
"end": 6934, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "tag", | |
"source": 5, | |
"value": "38" | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7106, | |
"end": 7110, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7144, | |
"end": 7146, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 7133, | |
"end": 7142, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7129, | |
"end": 7147, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 7121, | |
"end": 7147, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7121, | |
"end": 7147, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7193, | |
"end": 7202, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7187, | |
"end": 7191, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7183, | |
"end": 7203, | |
"name": "SUB", | |
"source": 5 | |
}, | |
{ | |
"begin": 7179, | |
"end": 7180, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7168, | |
"end": 7177, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 7164, | |
"end": 7181, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 7157, | |
"end": 7204, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 7221, | |
"end": 7352, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "170" | |
}, | |
{ | |
"begin": 7347, | |
"end": 7351, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7221, | |
"end": 7352, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "144" | |
}, | |
{ | |
"begin": 7221, | |
"end": 7352, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 7221, | |
"end": 7352, | |
"name": "tag", | |
"source": 5, | |
"value": "170" | |
}, | |
{ | |
"begin": 7221, | |
"end": 7352, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7213, | |
"end": 7352, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7213, | |
"end": 7352, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 6940, | |
"end": 7359, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "tag", | |
"source": 5, | |
"value": "71" | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7399, | |
"end": 7405, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7426, | |
"end": 7446, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "172" | |
}, | |
{ | |
"begin": 7426, | |
"end": 7446, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "173" | |
}, | |
{ | |
"begin": 7426, | |
"end": 7446, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 7426, | |
"end": 7446, | |
"name": "tag", | |
"source": 5, | |
"value": "172" | |
}, | |
{ | |
"begin": 7426, | |
"end": 7446, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7416, | |
"end": 7446, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7416, | |
"end": 7446, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7455, | |
"end": 7488, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "174" | |
}, | |
{ | |
"begin": 7483, | |
"end": 7487, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7475, | |
"end": 7481, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7455, | |
"end": 7488, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "175" | |
}, | |
{ | |
"begin": 7455, | |
"end": 7488, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 7455, | |
"end": 7488, | |
"name": "tag", | |
"source": 5, | |
"value": "174" | |
}, | |
{ | |
"begin": 7455, | |
"end": 7488, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7365, | |
"end": 7494, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7500, | |
"end": 7575, | |
"name": "tag", | |
"source": 5, | |
"value": "173" | |
}, | |
{ | |
"begin": 7500, | |
"end": 7575, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7533, | |
"end": 7539, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7566, | |
"end": 7568, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 7560, | |
"end": 7569, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 7550, | |
"end": 7569, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7550, | |
"end": 7569, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7500, | |
"end": 7575, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7500, | |
"end": 7575, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "tag", | |
"source": 5, | |
"value": "70" | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7643, | |
"end": 7647, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7733, | |
"end": 7751, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 7725, | |
"end": 7731, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7722, | |
"end": 7752, | |
"name": "GT", | |
"source": 5 | |
}, | |
{ | |
"begin": 7719, | |
"end": 7775, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 7719, | |
"end": 7775, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "178" | |
}, | |
{ | |
"begin": 7719, | |
"end": 7775, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 7755, | |
"end": 7773, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "179" | |
}, | |
{ | |
"begin": 7755, | |
"end": 7773, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "180" | |
}, | |
{ | |
"begin": 7755, | |
"end": 7773, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 7755, | |
"end": 7773, | |
"name": "tag", | |
"source": 5, | |
"value": "179" | |
}, | |
{ | |
"begin": 7755, | |
"end": 7773, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7719, | |
"end": 7775, | |
"name": "tag", | |
"source": 5, | |
"value": "178" | |
}, | |
{ | |
"begin": 7719, | |
"end": 7775, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7793, | |
"end": 7822, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "181" | |
}, | |
{ | |
"begin": 7815, | |
"end": 7821, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 7793, | |
"end": 7822, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "133" | |
}, | |
{ | |
"begin": 7793, | |
"end": 7822, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 7793, | |
"end": 7822, | |
"name": "tag", | |
"source": 5, | |
"value": "181" | |
}, | |
{ | |
"begin": 7793, | |
"end": 7822, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7785, | |
"end": 7822, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7785, | |
"end": 7822, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7877, | |
"end": 7881, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 7871, | |
"end": 7875, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7867, | |
"end": 7882, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 7859, | |
"end": 7882, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7859, | |
"end": 7882, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7581, | |
"end": 7889, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "tag", | |
"source": 5, | |
"value": "120" | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 7946, | |
"end": 7952, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 7980, | |
"end": 7985, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7974, | |
"end": 7986, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 7964, | |
"end": 7986, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7964, | |
"end": 7986, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7895, | |
"end": 7993, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "tag", | |
"source": 5, | |
"value": "128" | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8051, | |
"end": 8057, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8085, | |
"end": 8090, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8079, | |
"end": 8091, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 8069, | |
"end": 8091, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8069, | |
"end": 8091, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 7999, | |
"end": 8098, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "tag", | |
"source": 5, | |
"value": "122" | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8205, | |
"end": 8216, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8242, | |
"end": 8245, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8227, | |
"end": 8245, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8227, | |
"end": 8245, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8104, | |
"end": 8251, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "tag", | |
"source": 5, | |
"value": "130" | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8341, | |
"end": 8352, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8375, | |
"end": 8381, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8370, | |
"end": 8373, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8363, | |
"end": 8382, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 8415, | |
"end": 8419, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 8410, | |
"end": 8413, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8406, | |
"end": 8420, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 8391, | |
"end": 8420, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8391, | |
"end": 8420, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "SWAP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8257, | |
"end": 8426, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "tag", | |
"source": 5, | |
"value": "112" | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8469, | |
"end": 8476, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8498, | |
"end": 8522, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "187" | |
}, | |
{ | |
"begin": 8516, | |
"end": 8521, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8498, | |
"end": 8522, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "188" | |
}, | |
{ | |
"begin": 8498, | |
"end": 8522, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 8498, | |
"end": 8522, | |
"name": "tag", | |
"source": 5, | |
"value": "187" | |
}, | |
{ | |
"begin": 8498, | |
"end": 8522, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8487, | |
"end": 8522, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8487, | |
"end": 8522, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8432, | |
"end": 8528, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "tag", | |
"source": 5, | |
"value": "116" | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8568, | |
"end": 8575, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8611, | |
"end": 8616, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8604, | |
"end": 8617, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 8597, | |
"end": 8618, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 8586, | |
"end": 8618, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8586, | |
"end": 8618, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8534, | |
"end": 8624, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "tag", | |
"source": 5, | |
"value": "188" | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8667, | |
"end": 8674, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8707, | |
"end": 8749, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 8700, | |
"end": 8705, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8696, | |
"end": 8750, | |
"name": "AND", | |
"source": 5 | |
}, | |
{ | |
"begin": 8685, | |
"end": 8750, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8685, | |
"end": 8750, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8630, | |
"end": 8756, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "tag", | |
"source": 5, | |
"value": "152" | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8799, | |
"end": 8806, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8828, | |
"end": 8833, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8817, | |
"end": 8833, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8817, | |
"end": 8833, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8762, | |
"end": 8839, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "tag", | |
"source": 5, | |
"value": "76" | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 8929, | |
"end": 8935, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 8924, | |
"end": 8927, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 8919, | |
"end": 8922, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 8906, | |
"end": 8936, | |
"name": "CALLDATACOPY", | |
"source": 5 | |
}, | |
{ | |
"begin": 8991, | |
"end": 8992, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 8982, | |
"end": 8988, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 8977, | |
"end": 8980, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 8973, | |
"end": 8989, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 8966, | |
"end": 8993, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 8845, | |
"end": 8999, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "tag", | |
"source": 5, | |
"value": "124" | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9073, | |
"end": 9074, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "tag", | |
"source": 5, | |
"value": "194" | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9097, | |
"end": 9103, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 9094, | |
"end": 9095, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9091, | |
"end": 9104, | |
"name": "LT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "196" | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 9182, | |
"end": 9183, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 9177, | |
"end": 9180, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 9173, | |
"end": 9184, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9167, | |
"end": 9185, | |
"name": "MLOAD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9163, | |
"end": 9164, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9158, | |
"end": 9161, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 9154, | |
"end": 9165, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9147, | |
"end": 9186, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 9119, | |
"end": 9121, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 9116, | |
"end": 9117, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9112, | |
"end": 9122, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9107, | |
"end": 9122, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 9107, | |
"end": 9122, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "194" | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "JUMP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "tag", | |
"source": 5, | |
"value": "196" | |
}, | |
{ | |
"begin": 9083, | |
"end": 9196, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9214, | |
"end": 9220, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 9211, | |
"end": 9212, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9208, | |
"end": 9221, | |
"name": "GT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9205, | |
"end": 9306, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 9205, | |
"end": 9306, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "197" | |
}, | |
{ | |
"begin": 9205, | |
"end": 9306, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 9294, | |
"end": 9295, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 9285, | |
"end": 9291, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 9280, | |
"end": 9283, | |
"name": "DUP5", | |
"source": 5 | |
}, | |
{ | |
"begin": 9276, | |
"end": 9292, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9269, | |
"end": 9296, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 9205, | |
"end": 9306, | |
"name": "tag", | |
"source": 5, | |
"value": "197" | |
}, | |
{ | |
"begin": 9205, | |
"end": 9306, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9054, | |
"end": 9312, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9005, | |
"end": 9312, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 9318, | |
"end": 9599, | |
"name": "tag", | |
"source": 5, | |
"value": "175" | |
}, | |
{ | |
"begin": 9318, | |
"end": 9599, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9401, | |
"end": 9428, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "199" | |
}, | |
{ | |
"begin": 9423, | |
"end": 9427, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 9401, | |
"end": 9428, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "133" | |
}, | |
{ | |
"begin": 9401, | |
"end": 9428, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 9401, | |
"end": 9428, | |
"name": "tag", | |
"source": 5, | |
"value": "199" | |
}, | |
{ | |
"begin": 9401, | |
"end": 9428, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9393, | |
"end": 9399, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9389, | |
"end": 9429, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 9531, | |
"end": 9537, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9519, | |
"end": 9529, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 9516, | |
"end": 9538, | |
"name": "LT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9495, | |
"end": 9513, | |
"name": "PUSH", | |
"source": 5, | |
"value": "FFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 9483, | |
"end": 9493, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 9480, | |
"end": 9514, | |
"name": "GT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9477, | |
"end": 9539, | |
"name": "OR", | |
"source": 5 | |
}, | |
{ | |
"begin": 9474, | |
"end": 9562, | |
"name": "ISZERO", | |
"source": 5 | |
}, | |
{ | |
"begin": 9474, | |
"end": 9562, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "200" | |
}, | |
{ | |
"begin": 9474, | |
"end": 9562, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 9542, | |
"end": 9560, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "201" | |
}, | |
{ | |
"begin": 9542, | |
"end": 9560, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "180" | |
}, | |
{ | |
"begin": 9542, | |
"end": 9560, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 9542, | |
"end": 9560, | |
"name": "tag", | |
"source": 5, | |
"value": "201" | |
}, | |
{ | |
"begin": 9542, | |
"end": 9560, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9474, | |
"end": 9562, | |
"name": "tag", | |
"source": 5, | |
"value": "200" | |
}, | |
{ | |
"begin": 9474, | |
"end": 9562, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9582, | |
"end": 9592, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 9578, | |
"end": 9580, | |
"name": "PUSH", | |
"source": 5, | |
"value": "40" | |
}, | |
{ | |
"begin": 9571, | |
"end": 9593, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 9361, | |
"end": 9599, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9318, | |
"end": 9599, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9318, | |
"end": 9599, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 9318, | |
"end": 9599, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 9605, | |
"end": 9785, | |
"name": "tag", | |
"source": 5, | |
"value": "180" | |
}, | |
{ | |
"begin": 9605, | |
"end": 9785, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9653, | |
"end": 9730, | |
"name": "PUSH", | |
"source": 5, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 9650, | |
"end": 9651, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 9643, | |
"end": 9731, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 9750, | |
"end": 9754, | |
"name": "PUSH", | |
"source": 5, | |
"value": "41" | |
}, | |
{ | |
"begin": 9747, | |
"end": 9748, | |
"name": "PUSH", | |
"source": 5, | |
"value": "4" | |
}, | |
{ | |
"begin": 9740, | |
"end": 9755, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 9774, | |
"end": 9778, | |
"name": "PUSH", | |
"source": 5, | |
"value": "24" | |
}, | |
{ | |
"begin": 9771, | |
"end": 9772, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 9764, | |
"end": 9779, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9791, | |
"end": 9908, | |
"name": "tag", | |
"source": 5, | |
"value": "89" | |
}, | |
{ | |
"begin": 9791, | |
"end": 9908, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 9900, | |
"end": 9901, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 9897, | |
"end": 9898, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 9890, | |
"end": 9902, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 9914, | |
"end": 10031, | |
"name": "tag", | |
"source": 5, | |
"value": "74" | |
}, | |
{ | |
"begin": 9914, | |
"end": 10031, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10023, | |
"end": 10024, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10020, | |
"end": 10021, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 10013, | |
"end": 10025, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 10037, | |
"end": 10154, | |
"name": "tag", | |
"source": 5, | |
"value": "103" | |
}, | |
{ | |
"begin": 10037, | |
"end": 10154, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10146, | |
"end": 10147, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10143, | |
"end": 10144, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 10136, | |
"end": 10148, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 10160, | |
"end": 10277, | |
"name": "tag", | |
"source": 5, | |
"value": "98" | |
}, | |
{ | |
"begin": 10160, | |
"end": 10277, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10269, | |
"end": 10270, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10266, | |
"end": 10267, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 10259, | |
"end": 10271, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "tag", | |
"source": 5, | |
"value": "133" | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10324, | |
"end": 10330, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10375, | |
"end": 10377, | |
"name": "PUSH", | |
"source": 5, | |
"value": "1F" | |
}, | |
{ | |
"begin": 10371, | |
"end": 10378, | |
"name": "NOT", | |
"source": 5 | |
}, | |
{ | |
"begin": 10366, | |
"end": 10368, | |
"name": "PUSH", | |
"source": 5, | |
"value": "1F" | |
}, | |
{ | |
"begin": 10359, | |
"end": 10364, | |
"name": "DUP4", | |
"source": 5 | |
}, | |
{ | |
"begin": 10355, | |
"end": 10369, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10351, | |
"end": 10379, | |
"name": "AND", | |
"source": 5 | |
}, | |
{ | |
"begin": 10341, | |
"end": 10379, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 10341, | |
"end": 10379, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "SWAP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "SWAP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 10283, | |
"end": 10385, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 10391, | |
"end": 10616, | |
"name": "tag", | |
"source": 5, | |
"value": "138" | |
}, | |
{ | |
"begin": 10391, | |
"end": 10616, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10531, | |
"end": 10565, | |
"name": "PUSH", | |
"source": 5, | |
"value": "416464726573733A20696E73756666696369656E742062616C616E636520666F" | |
}, | |
{ | |
"begin": 10527, | |
"end": 10528, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10519, | |
"end": 10525, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 10515, | |
"end": 10529, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10508, | |
"end": 10566, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 10600, | |
"end": 10608, | |
"name": "PUSH", | |
"source": 5, | |
"value": "722063616C6C0000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 10595, | |
"end": 10597, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 10587, | |
"end": 10593, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 10583, | |
"end": 10598, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10576, | |
"end": 10609, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 10391, | |
"end": 10616, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 10391, | |
"end": 10616, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 10622, | |
"end": 10801, | |
"name": "tag", | |
"source": 5, | |
"value": "143" | |
}, | |
{ | |
"begin": 10622, | |
"end": 10801, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10762, | |
"end": 10793, | |
"name": "PUSH", | |
"source": 5, | |
"value": "416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000" | |
}, | |
{ | |
"begin": 10758, | |
"end": 10759, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10750, | |
"end": 10756, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 10746, | |
"end": 10760, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10739, | |
"end": 10794, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 10622, | |
"end": 10801, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 10622, | |
"end": 10801, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 10807, | |
"end": 11036, | |
"name": "tag", | |
"source": 5, | |
"value": "148" | |
}, | |
{ | |
"begin": 10807, | |
"end": 11036, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 10947, | |
"end": 10981, | |
"name": "PUSH", | |
"source": 5, | |
"value": "5361666545524332303A204552433230206F7065726174696F6E20646964206E" | |
}, | |
{ | |
"begin": 10943, | |
"end": 10944, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 10935, | |
"end": 10941, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 10931, | |
"end": 10945, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10924, | |
"end": 10982, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 11016, | |
"end": 11028, | |
"name": "PUSH", | |
"source": 5, | |
"value": "6F74207375636365656400000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 11011, | |
"end": 11013, | |
"name": "PUSH", | |
"source": 5, | |
"value": "20" | |
}, | |
{ | |
"begin": 11003, | |
"end": 11009, | |
"name": "DUP3", | |
"source": 5 | |
}, | |
{ | |
"begin": 10999, | |
"end": 11014, | |
"name": "ADD", | |
"source": 5 | |
}, | |
{ | |
"begin": 10992, | |
"end": 11029, | |
"name": "MSTORE", | |
"source": 5 | |
}, | |
{ | |
"begin": 10807, | |
"end": 11036, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 10807, | |
"end": 11036, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 11042, | |
"end": 11164, | |
"name": "tag", | |
"source": 5, | |
"value": "80" | |
}, | |
{ | |
"begin": 11042, | |
"end": 11164, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11115, | |
"end": 11139, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "212" | |
}, | |
{ | |
"begin": 11133, | |
"end": 11138, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11115, | |
"end": 11139, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "112" | |
}, | |
{ | |
"begin": 11115, | |
"end": 11139, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 11115, | |
"end": 11139, | |
"name": "tag", | |
"source": 5, | |
"value": "212" | |
}, | |
{ | |
"begin": 11115, | |
"end": 11139, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11108, | |
"end": 11113, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11105, | |
"end": 11140, | |
"name": "EQ", | |
"source": 5 | |
}, | |
{ | |
"begin": 11095, | |
"end": 11158, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "213" | |
}, | |
{ | |
"begin": 11095, | |
"end": 11158, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 11154, | |
"end": 11155, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 11151, | |
"end": 11152, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 11144, | |
"end": 11156, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 11095, | |
"end": 11158, | |
"name": "tag", | |
"source": 5, | |
"value": "213" | |
}, | |
{ | |
"begin": 11095, | |
"end": 11158, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11042, | |
"end": 11164, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 11042, | |
"end": 11164, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 11170, | |
"end": 11286, | |
"name": "tag", | |
"source": 5, | |
"value": "84" | |
}, | |
{ | |
"begin": 11170, | |
"end": 11286, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11240, | |
"end": 11261, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "215" | |
}, | |
{ | |
"begin": 11255, | |
"end": 11260, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11240, | |
"end": 11261, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "116" | |
}, | |
{ | |
"begin": 11240, | |
"end": 11261, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 11240, | |
"end": 11261, | |
"name": "tag", | |
"source": 5, | |
"value": "215" | |
}, | |
{ | |
"begin": 11240, | |
"end": 11261, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11233, | |
"end": 11238, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11230, | |
"end": 11262, | |
"name": "EQ", | |
"source": 5 | |
}, | |
{ | |
"begin": 11220, | |
"end": 11280, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "216" | |
}, | |
{ | |
"begin": 11220, | |
"end": 11280, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 11276, | |
"end": 11277, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 11273, | |
"end": 11274, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 11266, | |
"end": 11278, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 11220, | |
"end": 11280, | |
"name": "tag", | |
"source": 5, | |
"value": "216" | |
}, | |
{ | |
"begin": 11220, | |
"end": 11280, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11170, | |
"end": 11286, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 11170, | |
"end": 11286, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
}, | |
{ | |
"begin": 11292, | |
"end": 11414, | |
"name": "tag", | |
"source": 5, | |
"value": "94" | |
}, | |
{ | |
"begin": 11292, | |
"end": 11414, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11365, | |
"end": 11389, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "218" | |
}, | |
{ | |
"begin": 11383, | |
"end": 11388, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11365, | |
"end": 11389, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "152" | |
}, | |
{ | |
"begin": 11365, | |
"end": 11389, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[in]" | |
}, | |
{ | |
"begin": 11365, | |
"end": 11389, | |
"name": "tag", | |
"source": 5, | |
"value": "218" | |
}, | |
{ | |
"begin": 11365, | |
"end": 11389, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11358, | |
"end": 11363, | |
"name": "DUP2", | |
"source": 5 | |
}, | |
{ | |
"begin": 11355, | |
"end": 11390, | |
"name": "EQ", | |
"source": 5 | |
}, | |
{ | |
"begin": 11345, | |
"end": 11408, | |
"name": "PUSH [tag]", | |
"source": 5, | |
"value": "219" | |
}, | |
{ | |
"begin": 11345, | |
"end": 11408, | |
"name": "JUMPI", | |
"source": 5 | |
}, | |
{ | |
"begin": 11404, | |
"end": 11405, | |
"name": "PUSH", | |
"source": 5, | |
"value": "0" | |
}, | |
{ | |
"begin": 11401, | |
"end": 11402, | |
"name": "DUP1", | |
"source": 5 | |
}, | |
{ | |
"begin": 11394, | |
"end": 11406, | |
"name": "REVERT", | |
"source": 5 | |
}, | |
{ | |
"begin": 11345, | |
"end": 11408, | |
"name": "tag", | |
"source": 5, | |
"value": "219" | |
}, | |
{ | |
"begin": 11345, | |
"end": 11408, | |
"name": "JUMPDEST", | |
"source": 5 | |
}, | |
{ | |
"begin": 11292, | |
"end": 11414, | |
"name": "POP", | |
"source": 5 | |
}, | |
{ | |
"begin": 11292, | |
"end": 11414, | |
"name": "JUMP", | |
"source": 5, | |
"value": "[out]" | |
} | |
] | |
} | |
} | |
}, | |
"methodIdentifiers": { | |
"check_is_owner()": "34d8c67a", | |
"depositTokens(address,uint256,string)": "484c2d97", | |
"owner()": "8da5cb5b" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"settle\",\"type\":\"string\"}],\"name\":\"SettleInfoEvent\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"check_is_owner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_settle\",\"type\":\"string\"}],\"name\":\"depositTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/1_Storage.sol\":\"TokenTransfer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6\",\"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"contracts/1_Storage.sol\":{\"keccak256\":\"0x008e82e74d186413269aeb7ba261bb6fd43d0cba53e4dee3ccbcb2e3de8f3360\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eff17111efe274177248553709c0eef16b59e7132d91e4c04a4f0ad0700366f4\",\"dweb:/ipfs/QmSBCBd7ctuf1NRxwVBjp8vKd45XDfM6urYa6BSq3eNAEW\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 695, | |
"contract": "contracts/1_Storage.sol:TokenTransfer", | |
"label": "_owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 743, | |
"contract": "contracts/1_Storage.sol:TokenTransfer", | |
"label": "_token", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_contract(IERC20)77" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_contract(IERC20)77": { | |
"encoding": "inplace", | |
"label": "contract IERC20", | |
"numberOfBytes": "20" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"@openzeppelin/contracts/token/ERC20/IERC20.sol": { | |
"ast": { | |
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", | |
"exportedSymbols": { | |
"IERC20": [ | |
77 | |
] | |
}, | |
"id": 78, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "106:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "interface", | |
"documentation": { | |
"id": 2, | |
"nodeType": "StructuredDocumentation", | |
"src": "131:70:0", | |
"text": " @dev Interface of the ERC20 standard as defined in the EIP." | |
}, | |
"fullyImplemented": false, | |
"id": 77, | |
"linearizedBaseContracts": [ | |
77 | |
], | |
"name": "IERC20", | |
"nameLocation": "212:6:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"anonymous": false, | |
"documentation": { | |
"id": 3, | |
"nodeType": "StructuredDocumentation", | |
"src": "225:158:0", | |
"text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." | |
}, | |
"id": 11, | |
"name": "Transfer", | |
"nameLocation": "394:8:0", | |
"nodeType": "EventDefinition", | |
"parameters": { | |
"id": 10, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 5, | |
"indexed": true, | |
"mutability": "mutable", | |
"name": "from", | |
"nameLocation": "419:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "403:20:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "403:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 7, | |
"indexed": true, | |
"mutability": "mutable", | |
"name": "to", | |
"nameLocation": "441:2:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "425:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 6, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "425:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 9, | |
"indexed": false, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "453:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "445:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "445:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "402:57:0" | |
}, | |
"src": "388:72:0" | |
}, | |
{ | |
"anonymous": false, | |
"documentation": { | |
"id": 12, | |
"nodeType": "StructuredDocumentation", | |
"src": "466:148:0", | |
"text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." | |
}, | |
"id": 20, | |
"name": "Approval", | |
"nameLocation": "625:8:0", | |
"nodeType": "EventDefinition", | |
"parameters": { | |
"id": 19, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 14, | |
"indexed": true, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "650:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 20, | |
"src": "634:21:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "634:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 16, | |
"indexed": true, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "673:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 20, | |
"src": "657:23:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "657:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 18, | |
"indexed": false, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "690:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 20, | |
"src": "682:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "682:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "633:63:0" | |
}, | |
"src": "619:78:0" | |
}, | |
{ | |
"documentation": { | |
"id": 21, | |
"nodeType": "StructuredDocumentation", | |
"src": "703:66:0", | |
"text": " @dev Returns the amount of tokens in existence." | |
}, | |
"functionSelector": "18160ddd", | |
"id": 26, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "totalSupply", | |
"nameLocation": "783:11:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 22, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "794:2:0" | |
}, | |
"returnParameters": { | |
"id": 25, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 24, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 26, | |
"src": "820:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "820:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "819:9:0" | |
}, | |
"scope": 77, | |
"src": "774:55:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 27, | |
"nodeType": "StructuredDocumentation", | |
"src": "835:72:0", | |
"text": " @dev Returns the amount of tokens owned by `account`." | |
}, | |
"functionSelector": "70a08231", | |
"id": 34, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "balanceOf", | |
"nameLocation": "921:9:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 30, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 29, | |
"mutability": "mutable", | |
"name": "account", | |
"nameLocation": "939:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 34, | |
"src": "931:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 28, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "931:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "930:17:0" | |
}, | |
"returnParameters": { | |
"id": 33, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 32, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 34, | |
"src": "971:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 31, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "971:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "970:9:0" | |
}, | |
"scope": 77, | |
"src": "912:68:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 35, | |
"nodeType": "StructuredDocumentation", | |
"src": "986:202:0", | |
"text": " @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." | |
}, | |
"functionSelector": "a9059cbb", | |
"id": 44, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "transfer", | |
"nameLocation": "1202:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 40, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 37, | |
"mutability": "mutable", | |
"name": "to", | |
"nameLocation": "1219:2:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "1211:10:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 36, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1211:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 39, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "1231:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "1223:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 38, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1223:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1210:28:0" | |
}, | |
"returnParameters": { | |
"id": 43, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 42, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "1257:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 41, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1257:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1256:6:0" | |
}, | |
"scope": 77, | |
"src": "1193:70:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 45, | |
"nodeType": "StructuredDocumentation", | |
"src": "1269:264:0", | |
"text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." | |
}, | |
"functionSelector": "dd62ed3e", | |
"id": 54, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "allowance", | |
"nameLocation": "1547:9:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 50, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 47, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "1565:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 54, | |
"src": "1557:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 46, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1557:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 49, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "1580:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 54, | |
"src": "1572:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 48, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1572:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1556:32:0" | |
}, | |
"returnParameters": { | |
"id": 53, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 52, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 54, | |
"src": "1612:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 51, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1612:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1611:9:0" | |
}, | |
"scope": 77, | |
"src": "1538:83:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 55, | |
"nodeType": "StructuredDocumentation", | |
"src": "1627:642:0", | |
"text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." | |
}, | |
"functionSelector": "095ea7b3", | |
"id": 64, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "approve", | |
"nameLocation": "2283:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 60, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 57, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "2299:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 64, | |
"src": "2291:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 56, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2291:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 59, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "2316:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 64, | |
"src": "2308:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 58, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2308:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2290:33:0" | |
}, | |
"returnParameters": { | |
"id": 63, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 62, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 64, | |
"src": "2342:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 61, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2342:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2341:6:0" | |
}, | |
"scope": 77, | |
"src": "2274:74:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 65, | |
"nodeType": "StructuredDocumentation", | |
"src": "2354:287:0", | |
"text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." | |
}, | |
"functionSelector": "23b872dd", | |
"id": 76, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "transferFrom", | |
"nameLocation": "2655:12:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 72, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 67, | |
"mutability": "mutable", | |
"name": "from", | |
"nameLocation": "2685:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 76, | |
"src": "2677:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 66, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2677:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 69, | |
"mutability": "mutable", | |
"name": "to", | |
"nameLocation": "2707:2:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 76, | |
"src": "2699:10:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 68, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2699:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 71, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "2727:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 76, | |
"src": "2719:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 70, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2719:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2667:72:0" | |
}, | |
"returnParameters": { | |
"id": 75, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 74, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 76, | |
"src": "2758:4:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 73, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2758:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2757:6:0" | |
}, | |
"scope": 77, | |
"src": "2646:118:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 78, | |
"src": "202:2564:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "106:2661:0" | |
}, | |
"id": 0 | |
}, | |
"@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { | |
"ast": { | |
"absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", | |
"exportedSymbols": { | |
"IERC20Permit": [ | |
113 | |
] | |
}, | |
"id": 114, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 79, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "114:23:1" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "interface", | |
"documentation": { | |
"id": 80, | |
"nodeType": "StructuredDocumentation", | |
"src": "139:480:1", | |
"text": " @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all." | |
}, | |
"fullyImplemented": false, | |
"id": 113, | |
"linearizedBaseContracts": [ | |
113 | |
], | |
"name": "IERC20Permit", | |
"nameLocation": "630:12:1", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"documentation": { | |
"id": 81, | |
"nodeType": "StructuredDocumentation", | |
"src": "649:792:1", | |
"text": " @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]." | |
}, | |
"functionSelector": "d505accf", | |
"id": 98, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "permit", | |
"nameLocation": "1455:6:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 96, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 83, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "1479:5:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1471:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 82, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1471:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 85, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "1502:7:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1494:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 84, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1494:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 87, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "1527:5:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1519:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 86, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1519:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 89, | |
"mutability": "mutable", | |
"name": "deadline", | |
"nameLocation": "1550:8:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1542:16:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 88, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1542:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 91, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "1574:1:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1568:7:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 90, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "1568:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 93, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "1593:1:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1585:9:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 92, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "1585:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 95, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "1612:1:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "1604:9:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 94, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "1604:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1461:158:1" | |
}, | |
"returnParameters": { | |
"id": 97, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1628:0:1" | |
}, | |
"scope": 113, | |
"src": "1446:183:1", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 99, | |
"nodeType": "StructuredDocumentation", | |
"src": "1635:294:1", | |
"text": " @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times." | |
}, | |
"functionSelector": "7ecebe00", | |
"id": 106, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "nonces", | |
"nameLocation": "1943:6:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 102, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 101, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "1958:5:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 106, | |
"src": "1950:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 100, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1950:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1949:15:1" | |
}, | |
"returnParameters": { | |
"id": 105, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 104, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 106, | |
"src": "1988:7:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 103, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1988:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1987:9:1" | |
}, | |
"scope": 113, | |
"src": "1934:63:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"documentation": { | |
"id": 107, | |
"nodeType": "StructuredDocumentation", | |
"src": "2003:128:1", | |
"text": " @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." | |
}, | |
"functionSelector": "3644e515", | |
"id": 112, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "DOMAIN_SEPARATOR", | |
"nameLocation": "2198:16:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 108, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "2214:2:1" | |
}, | |
"returnParameters": { | |
"id": 111, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 110, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 112, | |
"src": "2240:7:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 109, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "2240:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2239:9:1" | |
}, | |
"scope": 113, | |
"src": "2189:60:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 114, | |
"src": "620:1631:1", | |
"usedErrors": [] | |
} | |
], | |
"src": "114:2138:1" | |
}, | |
"id": 1 | |
}, | |
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { | |
"ast": { | |
"absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", | |
"exportedSymbols": { | |
"Address": [ | |
689 | |
], | |
"IERC20": [ | |
77 | |
], | |
"IERC20Permit": [ | |
113 | |
], | |
"SafeERC20": [ | |
394 | |
] | |
}, | |
"id": 395, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 115, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "115:23:2" | |
}, | |
{ | |
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", | |
"file": "../IERC20.sol", | |
"id": 116, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 395, | |
"sourceUnit": 78, | |
"src": "140:23:2", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", | |
"file": "../extensions/draft-IERC20Permit.sol", | |
"id": 117, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 395, | |
"sourceUnit": 114, | |
"src": "164:46:2", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"absolutePath": "@openzeppelin/contracts/utils/Address.sol", | |
"file": "../../../utils/Address.sol", | |
"id": 118, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 395, | |
"sourceUnit": 690, | |
"src": "211:36:2", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "library", | |
"documentation": { | |
"id": 119, | |
"nodeType": "StructuredDocumentation", | |
"src": "249:457:2", | |
"text": " @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc." | |
}, | |
"fullyImplemented": true, | |
"id": 394, | |
"linearizedBaseContracts": [ | |
394 | |
], | |
"name": "SafeERC20", | |
"nameLocation": "715:9:2", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"id": 122, | |
"libraryName": { | |
"id": 120, | |
"name": "Address", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 689, | |
"src": "737:7:2" | |
}, | |
"nodeType": "UsingForDirective", | |
"src": "731:26:2", | |
"typeName": { | |
"id": 121, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "749:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
}, | |
{ | |
"body": { | |
"id": 144, | |
"nodeType": "Block", | |
"src": "865:103:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 133, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 125, | |
"src": "895:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
{ | |
"arguments": [ | |
{ | |
"expression": { | |
"expression": { | |
"id": 136, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 125, | |
"src": "925:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 137, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 44, | |
"src": "925:14:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,uint256) external returns (bool)" | |
} | |
}, | |
"id": 138, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "selector", | |
"nodeType": "MemberAccess", | |
"src": "925:23:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
} | |
}, | |
{ | |
"id": 139, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 127, | |
"src": "950:2:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 140, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 129, | |
"src": "954:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 134, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "902:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 135, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodeWithSelector", | |
"nodeType": "MemberAccess", | |
"src": "902:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes4) pure returns (bytes memory)" | |
} | |
}, | |
"id": 141, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "902:58:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 132, | |
"name": "_callOptionalReturn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "875:19:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$77_$_t_bytes_memory_ptr_$returns$__$", | |
"typeString": "function (contract IERC20,bytes memory)" | |
} | |
}, | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "875:86:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 143, | |
"nodeType": "ExpressionStatement", | |
"src": "875:86:2" | |
} | |
] | |
}, | |
"id": 145, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safeTransfer", | |
"nameLocation": "772:12:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 130, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 125, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "801:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 145, | |
"src": "794:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 124, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 123, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "794:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "794:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 127, | |
"mutability": "mutable", | |
"name": "to", | |
"nameLocation": "824:2:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 145, | |
"src": "816:10:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 126, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "816:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 129, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "844:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 145, | |
"src": "836:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 128, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "836:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "784:71:2" | |
}, | |
"returnParameters": { | |
"id": 131, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "865:0:2" | |
}, | |
"scope": 394, | |
"src": "763:205:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 170, | |
"nodeType": "Block", | |
"src": "1102:113:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 158, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 148, | |
"src": "1132:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
{ | |
"arguments": [ | |
{ | |
"expression": { | |
"expression": { | |
"id": 161, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 148, | |
"src": "1162:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 162, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "transferFrom", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 76, | |
"src": "1162:18:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,address,uint256) external returns (bool)" | |
} | |
}, | |
"id": 163, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "selector", | |
"nodeType": "MemberAccess", | |
"src": "1162:27:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
} | |
}, | |
{ | |
"id": 164, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 150, | |
"src": "1191:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 165, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "1197:2:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 166, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "1201:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 159, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "1139:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 160, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodeWithSelector", | |
"nodeType": "MemberAccess", | |
"src": "1139:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes4) pure returns (bytes memory)" | |
} | |
}, | |
"id": 167, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1139:68:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 157, | |
"name": "_callOptionalReturn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "1112:19:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$77_$_t_bytes_memory_ptr_$returns$__$", | |
"typeString": "function (contract IERC20,bytes memory)" | |
} | |
}, | |
"id": 168, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1112:96:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 169, | |
"nodeType": "ExpressionStatement", | |
"src": "1112:96:2" | |
} | |
] | |
}, | |
"id": 171, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safeTransferFrom", | |
"nameLocation": "983:16:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 155, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 148, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "1016:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 171, | |
"src": "1009:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 147, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 146, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "1009:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "1009:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 150, | |
"mutability": "mutable", | |
"name": "from", | |
"nameLocation": "1039:4:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 171, | |
"src": "1031:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 149, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1031:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 152, | |
"mutability": "mutable", | |
"name": "to", | |
"nameLocation": "1061:2:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 171, | |
"src": "1053:10:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 151, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1053:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 154, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "1081:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 171, | |
"src": "1073:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 153, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1073:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "999:93:2" | |
}, | |
"returnParameters": { | |
"id": 156, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1102:0:2" | |
}, | |
"scope": 394, | |
"src": "974:241:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 214, | |
"nodeType": "Block", | |
"src": "1581:497:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 198, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"components": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 185, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 183, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 179, | |
"src": "1830:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "30", | |
"id": 184, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1839:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "1830:10:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
} | |
], | |
"id": 186, | |
"isConstant": false, | |
"isInlineArray": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "TupleExpression", | |
"src": "1829:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "||", | |
"rightExpression": { | |
"components": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 196, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 191, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967268, | |
"src": "1870:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
], | |
"id": 190, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "1862:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 189, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1862:7:2", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 192, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1862:13:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 193, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 177, | |
"src": "1877:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 187, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 175, | |
"src": "1846:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 188, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "allowance", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 54, | |
"src": "1846:15:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", | |
"typeString": "function (address,address) view external returns (uint256)" | |
} | |
}, | |
"id": 194, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1846:39:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"hexValue": "30", | |
"id": 195, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1889:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "1846:44:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
} | |
], | |
"id": 197, | |
"isConstant": false, | |
"isInlineArray": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "TupleExpression", | |
"src": "1845:46:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1829:62:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", | |
"id": 199, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1905:56:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", | |
"typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" | |
}, | |
"value": "SafeERC20: approve from non-zero to non-zero allowance" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25", | |
"typeString": "literal_string \"SafeERC20: approve from non-zero to non-zero allowance\"" | |
} | |
], | |
"id": 182, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "1808:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 200, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1808:163:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 201, | |
"nodeType": "ExpressionStatement", | |
"src": "1808:163:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 203, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 175, | |
"src": "2001:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
{ | |
"arguments": [ | |
{ | |
"expression": { | |
"expression": { | |
"id": 206, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 175, | |
"src": "2031:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 207, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "approve", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 64, | |
"src": "2031:13:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,uint256) external returns (bool)" | |
} | |
}, | |
"id": 208, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "selector", | |
"nodeType": "MemberAccess", | |
"src": "2031:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
} | |
}, | |
{ | |
"id": 209, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 177, | |
"src": "2055:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 210, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 179, | |
"src": "2064:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 204, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "2008:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 205, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodeWithSelector", | |
"nodeType": "MemberAccess", | |
"src": "2008:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes4) pure returns (bytes memory)" | |
} | |
}, | |
"id": 211, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2008:62:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 202, | |
"name": "_callOptionalReturn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "1981:19:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$77_$_t_bytes_memory_ptr_$returns$__$", | |
"typeString": "function (contract IERC20,bytes memory)" | |
} | |
}, | |
"id": 212, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1981:90:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 213, | |
"nodeType": "ExpressionStatement", | |
"src": "1981:90:2" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 172, | |
"nodeType": "StructuredDocumentation", | |
"src": "1221:249:2", | |
"text": " @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead." | |
}, | |
"id": 215, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safeApprove", | |
"nameLocation": "1484:11:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 180, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 175, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "1512:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 215, | |
"src": "1505:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 174, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 173, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "1505:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "1505:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 177, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "1535:7:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 215, | |
"src": "1527:15:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 176, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1527:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 179, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "1560:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 215, | |
"src": "1552:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 178, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1552:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1495:76:2" | |
}, | |
"returnParameters": { | |
"id": 181, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1581:0:2" | |
}, | |
"scope": 394, | |
"src": "1475:603:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 250, | |
"nodeType": "Block", | |
"src": "2200:194:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
226 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 226, | |
"mutability": "mutable", | |
"name": "newAllowance", | |
"nameLocation": "2218:12:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 250, | |
"src": "2210:20:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 225, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2210:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 237, | |
"initialValue": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 236, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 231, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967268, | |
"src": "2257:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
], | |
"id": 230, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2249:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 229, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2249:7:2", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 232, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2249:13:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 233, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 220, | |
"src": "2264:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 227, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 218, | |
"src": "2233:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 228, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "allowance", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 54, | |
"src": "2233:15:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", | |
"typeString": "function (address,address) view external returns (uint256)" | |
} | |
}, | |
"id": 234, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2233:39:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"id": 235, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 222, | |
"src": "2275:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2233:47:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2210:70:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 239, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 218, | |
"src": "2310:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
{ | |
"arguments": [ | |
{ | |
"expression": { | |
"expression": { | |
"id": 242, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 218, | |
"src": "2340:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 243, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "approve", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 64, | |
"src": "2340:13:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,uint256) external returns (bool)" | |
} | |
}, | |
"id": 244, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "selector", | |
"nodeType": "MemberAccess", | |
"src": "2340:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
} | |
}, | |
{ | |
"id": 245, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 220, | |
"src": "2364:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 246, | |
"name": "newAllowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 226, | |
"src": "2373:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 240, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "2317:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 241, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodeWithSelector", | |
"nodeType": "MemberAccess", | |
"src": "2317:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes4) pure returns (bytes memory)" | |
} | |
}, | |
"id": 247, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2317:69:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 238, | |
"name": "_callOptionalReturn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "2290:19:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$77_$_t_bytes_memory_ptr_$returns$__$", | |
"typeString": "function (contract IERC20,bytes memory)" | |
} | |
}, | |
"id": 248, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2290:97:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 249, | |
"nodeType": "ExpressionStatement", | |
"src": "2290:97:2" | |
} | |
] | |
}, | |
"id": 251, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safeIncreaseAllowance", | |
"nameLocation": "2093:21:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 223, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 218, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "2131:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "2124:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 217, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 216, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "2124:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "2124:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 220, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "2154:7:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "2146:15:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2146:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 222, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "2179:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 251, | |
"src": "2171:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 221, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2171:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2114:76:2" | |
}, | |
"returnParameters": { | |
"id": 224, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "2200:0:2" | |
}, | |
"scope": 394, | |
"src": "2084:310:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 298, | |
"nodeType": "Block", | |
"src": "2516:370:2", | |
"statements": [ | |
{ | |
"id": 297, | |
"nodeType": "UncheckedBlock", | |
"src": "2526:354:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
262 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 262, | |
"mutability": "mutable", | |
"name": "oldAllowance", | |
"nameLocation": "2558:12:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 297, | |
"src": "2550:20:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 261, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2550:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 271, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 267, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967268, | |
"src": "2597:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_SafeERC20_$394", | |
"typeString": "library SafeERC20" | |
} | |
], | |
"id": 266, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2589:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 265, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2589:7:2", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 268, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2589:13:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 269, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 256, | |
"src": "2604:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 263, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 254, | |
"src": "2573:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 264, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "allowance", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 54, | |
"src": "2573:15:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", | |
"typeString": "function (address,address) view external returns (uint256)" | |
} | |
}, | |
"id": 270, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2573:39:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2550:62:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 275, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 273, | |
"name": "oldAllowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 262, | |
"src": "2634:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"id": 274, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 258, | |
"src": "2650:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2634:21:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", | |
"id": 276, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2657:43:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a", | |
"typeString": "literal_string \"SafeERC20: decreased allowance below zero\"" | |
}, | |
"value": "SafeERC20: decreased allowance below zero" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a", | |
"typeString": "literal_string \"SafeERC20: decreased allowance below zero\"" | |
} | |
], | |
"id": 272, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "2626:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 277, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2626:75:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 278, | |
"nodeType": "ExpressionStatement", | |
"src": "2626:75:2" | |
}, | |
{ | |
"assignments": [ | |
280 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 280, | |
"mutability": "mutable", | |
"name": "newAllowance", | |
"nameLocation": "2723:12:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 297, | |
"src": "2715:20:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 279, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2715:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 284, | |
"initialValue": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 283, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 281, | |
"name": "oldAllowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 262, | |
"src": "2738:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"id": 282, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 258, | |
"src": "2753:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2738:20:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2715:43:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 286, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 254, | |
"src": "2792:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
{ | |
"arguments": [ | |
{ | |
"expression": { | |
"expression": { | |
"id": 289, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 254, | |
"src": "2822:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"id": 290, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "approve", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 64, | |
"src": "2822:13:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,uint256) external returns (bool)" | |
} | |
}, | |
"id": 291, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "selector", | |
"nodeType": "MemberAccess", | |
"src": "2822:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
} | |
}, | |
{ | |
"id": 292, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 256, | |
"src": "2846:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 293, | |
"name": "newAllowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 280, | |
"src": "2855:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes4", | |
"typeString": "bytes4" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 287, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "2799:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 288, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "encodeWithSelector", | |
"nodeType": "MemberAccess", | |
"src": "2799:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes4) pure returns (bytes memory)" | |
} | |
}, | |
"id": 294, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2799:69:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
], | |
"id": 285, | |
"name": "_callOptionalReturn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "2772:19:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$77_$_t_bytes_memory_ptr_$returns$__$", | |
"typeString": "function (contract IERC20,bytes memory)" | |
} | |
}, | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2772:97:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 296, | |
"nodeType": "ExpressionStatement", | |
"src": "2772:97:2" | |
} | |
] | |
} | |
] | |
}, | |
"id": 299, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safeDecreaseAllowance", | |
"nameLocation": "2409:21:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 259, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 254, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "2447:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 299, | |
"src": "2440:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 253, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 252, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "2440:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "2440:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 256, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "2470:7:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 299, | |
"src": "2462:15:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 255, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2462:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 258, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "2495:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 299, | |
"src": "2487:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 257, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2487:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2430:76:2" | |
}, | |
"returnParameters": { | |
"id": 260, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "2516:0:2" | |
}, | |
"scope": 394, | |
"src": "2400:486:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 354, | |
"nodeType": "Block", | |
"src": "3107:257:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
320 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 320, | |
"mutability": "mutable", | |
"name": "nonceBefore", | |
"nameLocation": "3125:11:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 354, | |
"src": "3117:19:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 319, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3117:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 325, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 323, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 304, | |
"src": "3152:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 321, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 302, | |
"src": "3139:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20Permit_$113", | |
"typeString": "contract IERC20Permit" | |
} | |
}, | |
"id": 322, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "nonces", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 106, | |
"src": "3139:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", | |
"typeString": "function (address) view external returns (uint256)" | |
} | |
}, | |
"id": 324, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3139:19:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "3117:41:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 329, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 304, | |
"src": "3181:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 330, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 306, | |
"src": "3188:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"id": 331, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 308, | |
"src": "3197:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
{ | |
"id": 332, | |
"name": "deadline", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 310, | |
"src": "3204:8:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
{ | |
"id": 333, | |
"name": "v", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 312, | |
"src": "3214:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
{ | |
"id": 334, | |
"name": "r", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 314, | |
"src": "3217:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
{ | |
"id": 335, | |
"name": "s", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 316, | |
"src": "3220:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
{ | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"expression": { | |
"id": 326, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 302, | |
"src": "3168:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20Permit_$113", | |
"typeString": "contract IERC20Permit" | |
} | |
}, | |
"id": 328, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "permit", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 98, | |
"src": "3168:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", | |
"typeString": "function (address,address,uint256,uint256,uint8,bytes32,bytes32) external" | |
} | |
}, | |
"id": 336, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3168:54:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 337, | |
"nodeType": "ExpressionStatement", | |
"src": "3168:54:2" | |
}, | |
{ | |
"assignments": [ | |
339 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 339, | |
"mutability": "mutable", | |
"name": "nonceAfter", | |
"nameLocation": "3240:10:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 354, | |
"src": "3232:18:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 338, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3232:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 344, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 342, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 304, | |
"src": "3266:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 340, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 302, | |
"src": "3253:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20Permit_$113", | |
"typeString": "contract IERC20Permit" | |
} | |
}, | |
"id": 341, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "nonces", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 106, | |
"src": "3253:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", | |
"typeString": "function (address) view external returns (uint256)" | |
} | |
}, | |
"id": 343, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3253:19:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "3232:40:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 350, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 346, | |
"name": "nonceAfter", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 339, | |
"src": "3290:10:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 349, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 347, | |
"name": "nonceBefore", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 320, | |
"src": "3304:11:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"hexValue": "31", | |
"id": 348, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3318:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1_by_1", | |
"typeString": "int_const 1" | |
}, | |
"value": "1" | |
}, | |
"src": "3304:15:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "3290:29:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "5361666545524332303a207065726d697420646964206e6f742073756363656564", | |
"id": 351, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3321:35:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d", | |
"typeString": "literal_string \"SafeERC20: permit did not succeed\"" | |
}, | |
"value": "SafeERC20: permit did not succeed" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d", | |
"typeString": "literal_string \"SafeERC20: permit did not succeed\"" | |
} | |
], | |
"id": 345, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "3282:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 352, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "3282:75:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 353, | |
"nodeType": "ExpressionStatement", | |
"src": "3282:75:2" | |
} | |
] | |
}, | |
"id": 355, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "safePermit", | |
"nameLocation": "2901:10:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 317, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 302, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "2934:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "2921:18:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20Permit_$113", | |
"typeString": "contract IERC20Permit" | |
}, | |
"typeName": { | |
"id": 301, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 300, | |
"name": "IERC20Permit", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 113, | |
"src": "2921:12:2" | |
}, | |
"referencedDeclaration": 113, | |
"src": "2921:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20Permit_$113", | |
"typeString": "contract IERC20Permit" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 304, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "2957:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "2949:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 303, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2949:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 306, | |
"mutability": "mutable", | |
"name": "spender", | |
"nameLocation": "2980:7:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "2972:15:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 305, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2972:7:2", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 308, | |
"mutability": "mutable", | |
"name": "value", | |
"nameLocation": "3005:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "2997:13:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 307, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2997:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 310, | |
"mutability": "mutable", | |
"name": "deadline", | |
"nameLocation": "3028:8:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "3020:16:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 309, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3020:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 312, | |
"mutability": "mutable", | |
"name": "v", | |
"nameLocation": "3052:1:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "3046:7:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 311, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "3046:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 314, | |
"mutability": "mutable", | |
"name": "r", | |
"nameLocation": "3071:1:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "3063:9:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 313, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "3063:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 316, | |
"mutability": "mutable", | |
"name": "s", | |
"nameLocation": "3090:1:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 355, | |
"src": "3082:9:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 315, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "3082:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "2911:186:2" | |
}, | |
"returnParameters": { | |
"id": 318, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "3107:0:2" | |
}, | |
"scope": 394, | |
"src": "2892:472:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 392, | |
"nodeType": "Block", | |
"src": "3817:636:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
365 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 365, | |
"mutability": "mutable", | |
"name": "returndata", | |
"nameLocation": "4179:10:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 392, | |
"src": "4166:23:2", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 364, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "4166:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 374, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 371, | |
"name": "data", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 361, | |
"src": "4220:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
{ | |
"hexValue": "5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564", | |
"id": 372, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4226:34:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", | |
"typeString": "literal_string \"SafeERC20: low-level call failed\"" | |
}, | |
"value": "SafeERC20: low-level call failed" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b", | |
"typeString": "literal_string \"SafeERC20: low-level call failed\"" | |
} | |
], | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 368, | |
"name": "token", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 359, | |
"src": "4200:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
], | |
"id": 367, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4192:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 366, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4192:7:2", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 369, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4192:14:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 370, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "functionCall", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 483, | |
"src": "4192:27:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_address_$", | |
"typeString": "function (address,bytes memory,string memory) returns (bytes memory)" | |
} | |
}, | |
"id": 373, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4192:69:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "4166:95:2" | |
}, | |
{ | |
"condition": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 378, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 375, | |
"name": "returndata", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 365, | |
"src": "4275:10:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"id": 376, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "length", | |
"nodeType": "MemberAccess", | |
"src": "4275:17:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"hexValue": "30", | |
"id": 377, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4295:1:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "4275:21:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 391, | |
"nodeType": "IfStatement", | |
"src": "4271:176:2", | |
"trueBody": { | |
"id": 390, | |
"nodeType": "Block", | |
"src": "4298:149:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 382, | |
"name": "returndata", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 365, | |
"src": "4370:10:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
{ | |
"components": [ | |
{ | |
"id": 384, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "4383:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_bool_$", | |
"typeString": "type(bool)" | |
}, | |
"typeName": { | |
"id": 383, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "4383:4:2", | |
"typeDescriptions": {} | |
} | |
} | |
], | |
"id": 385, | |
"isConstant": false, | |
"isInlineArray": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "TupleExpression", | |
"src": "4382:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_bool_$", | |
"typeString": "type(bool)" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
}, | |
{ | |
"typeIdentifier": "t_type$_t_bool_$", | |
"typeString": "type(bool)" | |
} | |
], | |
"expression": { | |
"id": 380, | |
"name": "abi", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967295, | |
"src": "4359:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_abi", | |
"typeString": "abi" | |
} | |
}, | |
"id": 381, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"memberName": "decode", | |
"nodeType": "MemberAccess", | |
"src": "4359:10:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", | |
"typeString": "function () pure" | |
} | |
}, | |
"id": 386, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4359:30:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564", | |
"id": 387, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "4391:44:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", | |
"typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" | |
}, | |
"value": "SafeERC20: ERC20 operation did not succeed" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd", | |
"typeString": "literal_string \"SafeERC20: ERC20 operation did not succeed\"" | |
} | |
], | |
"id": 379, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "4351:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 388, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "4351:85:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 389, | |
"nodeType": "ExpressionStatement", | |
"src": "4351:85:2" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"documentation": { | |
"id": 356, | |
"nodeType": "StructuredDocumentation", | |
"src": "3370:372:2", | |
"text": " @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)." | |
}, | |
"id": 393, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "_callOptionalReturn", | |
"nameLocation": "3756:19:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 362, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 359, | |
"mutability": "mutable", | |
"name": "token", | |
"nameLocation": "3783:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 393, | |
"src": "3776:12:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
}, | |
"typeName": { | |
"id": 358, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 357, | |
"name": "IERC20", | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 77, | |
"src": "3776:6:2" | |
}, | |
"referencedDeclaration": 77, | |
"src": "3776:6:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_IERC20_$77", | |
"typeString": "contract IERC20" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 361, | |
"mutability": "mutable", | |
"name": "data", | |
"nameLocation": "3803:4:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 393, | |
"src": "3790:17:2", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes" | |
}, | |
"typeName": { | |
"id": 360, | |
"name": "bytes", | |
"nodeType": "ElementaryTypeName", | |
"src": "3790:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_storage_ptr", | |
"typeString": "bytes" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "3775:33:2" | |
}, | |
"returnParameters": { | |
"id": 363, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "3817:0:2" | |
}, | |
"scope": 394, | |
"src": "3747:706:2", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "private" | |
} | |
], | |
"scope": 395, | |
"src": "707:3748:2", | |
"usedErrors": [] | |
} | |
], | |
"src": "115:4341:2" | |
}, | |
"id": 2 | |
}, | |
"@openzeppelin/contracts/utils/Address.sol": { | |
"ast": { | |
"absolutePath": "@openzeppelin/contracts/utils/Address.sol", | |
"exportedSymbols": { | |
"Address": [ | |
689 | |
] | |
}, | |
"id": 690, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 396, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".1" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "101:23:3" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"contractDependencies": [], | |
"contractKind": "library", | |
"documentation": { | |
"id": 397, | |
"nodeType": "StructuredDocumentation", | |
"src": "126:67:3", | |
"text": " @dev Collection of functions related to the address type" | |
}, | |
"fullyImplemented": true, | |
"id": 689, | |
"linearizedBaseContracts": [ | |
689 | |
], | |
"name": "Address", | |
"nameLocation": "202:7:3", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"body": { | |
"id": 411, | |
"nodeType": "Block", | |
"src": "1241:254:3", | |
"statements": [ | |
{ | |
"expression": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 409, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"expression": { | |
"id": 405, | |
"name": "account", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 400, | |
"src": "1465:7:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 406, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "code", | |
"nodeType": "MemberAccess", | |
"src": "1465:12:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes_memory_ptr", | |
"typeString": "bytes memory" | |
} | |
}, | |
"id": 407, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "length", | |
"nodeType": "MemberAccess", | |
"src": "1465:19:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"hexValue": "30", | |
"id": 408, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1487:1:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "1465:23:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"functionReturnParameters": 404, | |
"id": 410, | |
"nodeType": "Return", | |
"src": "1458:30:3" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 398, | |
"nodeType": "StructuredDocumentation", | |
"src": "216:954:3", | |
"text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" | |
}, | |
"id": 412, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "isContract", | |
"nameLocation": "1184:10:3", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 401, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 400, | |
"mutability": "mutable", | |
"name": "account", | |
"nameLocation": "1203:7:3", | |
"nodeType": "VariableDeclaration", | |
"scope": 412, | |
"src": "1195:15:3", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 399, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1195:7:3", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1194:17:3" | |
}, | |
"returnParameters": { | |
"id": 404, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 403, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 412, | |
"src": "1235:4:3", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 402, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1235:4:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1234:6:3" | |
}, | |
"scope": 689, | |
"src": "1175:320:3", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 445, | |
"nodeType": "Block", | |
"src": "2483:241:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 427, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 423, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967268, | |
"src": "2509:4:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_Address_$689", | |
"typeString": "library Address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_Address_$689", | |
"typeString": "library Address" | |
} | |
], | |
"id": 422, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "2501:7:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_address_$", | |
"typeString": "type(address)" | |
}, | |
"typeName": { | |
"id": 421, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2501:7:3", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 424, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2501:13:3", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 425, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "balance", | |
"nodeType": "MemberAccess", | |
"src": "2501:21:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"id": 426, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 417, | |
"src": "2526:6:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2501:31:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", | |
"id": 428, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2534:31:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", | |
"typeString": "literal_string \"Address: insufficient balance\"" | |
}, | |
"value": "Address: insufficient balance" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", | |
"typeString": "literal_string \"Address: insufficient balance\"" | |
} | |
], | |
"id": 420, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "2493:7:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 429, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2493:73:3", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 430, | |
"nodeType": "ExpressionStatement", | |
"src": "2493:73:3" | |
}, | |
{ | |
"assignments": [ | |
432, | |
null | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 432, | |
"mutability": "mutable", | |
"name": "success", | |
"nameLocation": "2583:7:3", | |
"nodeType": "VariableDeclaration", | |
"scope": 445, | |
"src": "2578:12:3", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 431, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2578:4:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
null | |
], | |
"id": 439, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"hexValue": "", | |
"id": 437, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2626:2:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", | |
"typeString": "literal_string \"\"" | |
}, | |
"value": "" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", | |
"typeString": "literal_string \"\"" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", | |
"typeString": "literal_string \"\"" | |
} | |
], | |
"expression": { | |
"id": 433, | |
"name": "recipient", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 415, | |
"src": "2596:9:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 434, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "call", | |
"nodeType": "MemberAccess", | |
"src": "2596:14:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", | |
"typeString": "function (bytes memory) payable returns (bool,bytes memory)" | |
} | |
}, | |
"id": 436, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"names": [ | |
"value" | |
], | |
"nodeType": "FunctionCallOptions", | |
"options": [ | |
{ | |
"id": 435, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 417, | |
"src": "2618:6:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"src": "2596:29:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", | |
"typeString": "function (bytes memory) payable returns (bool,bytes memory)" | |
} | |
}, | |
"id": 438, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2596:33:3", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", | |
"typeString": "tuple(bool,bytes memory)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2577:52:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 441, | |
"name": "success", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 432, | |
"src": "2647:7:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", | |
"id": 442, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2656:60:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", | |
"typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" | |
}, | |
"value": "Address: unable to send value, recipient may have reverted" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", | |
"typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" | |
} | |
], | |
"id": 440, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "2639:7:3", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 443, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment