Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save wellingtonfds/484c4f8ebeb84b823e0aed485ca82f22 to your computer and use it in GitHub Desktop.
Save wellingtonfds/484c4f8ebeb84b823e0aed485ca82f22 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol)
pragma solidity ^0.8.0;
import "../../utils/introspection/IERC165.sol";
/**
* @dev Required interface of an ERC721 compliant contract.
*/
interface IERC721 is IERC165 {
/**
* @dev Emitted when `tokenId` token is transferred from `from` to `to`.
*/
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
*/
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
*/
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
/**
* @dev Returns the number of tokens in ``owner``'s account.
*/
function balanceOf(address owner) external view returns (uint256 balance);
/**
* @dev Returns the owner of the `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function ownerOf(uint256 tokenId) external view returns (address owner);
/**
* @dev Safely transfers `tokenId` token from `from` to `to`.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(
address from,
address to,
uint256 tokenId,
bytes calldata data
) external;
/**
* @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
* are aware of the ERC721 protocol to prevent tokens from being forever locked.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(
address from,
address to,
uint256 tokenId
) external;
/**
* @dev Transfers `tokenId` token from `from` to `to`.
*
* WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721
* or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must
* understand this adds an external call which potentially creates a reentrancy vulnerability.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 tokenId
) external;
/**
* @dev Gives permission to `to` to transfer `tokenId` token to another account.
* The approval is cleared when the token is transferred.
*
* Only a single account can be approved at a time, so approving the zero address clears previous approvals.
*
* Requirements:
*
* - The caller must own the token or be an approved operator.
* - `tokenId` must exist.
*
* Emits an {Approval} event.
*/
function approve(address to, uint256 tokenId) external;
/**
* @dev Approve or remove `operator` as an operator for the caller.
* Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
*
* Requirements:
*
* - The `operator` cannot be the caller.
*
* Emits an {ApprovalForAll} event.
*/
function setApprovalForAll(address operator, bool _approved) external;
/**
* @dev Returns the account approved for `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function getApproved(uint256 tokenId) external view returns (address operator);
/**
* @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
*
* See {setApprovalForAll}
*/
function isApprovedForAll(address owner, address operator) external view returns (bool);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "hardhat/console.sol";
/**
* @title Owner
* @dev Set & change owner
*/
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed oldOwner, address indexed newOwner);
// modifier to check if caller is owner
modifier isOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == owner, "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
console.log("Owner contract deployed by:", msg.sender);
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(address(0), owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public isOwner {
emit OwnerSet(owner, newOwner);
owner = newOwner;
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() external view returns (address) {
return owner;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Ballot
* @dev Implements voting process along with vote delegation
*/
contract Ballot {
struct Voter {
uint weight; // weight is accumulated by delegation
bool voted; // if true, that person already voted
address delegate; // person delegated to
uint vote; // index of the voted proposal
}
struct Proposal {
// If you can limit the length to a certain number of bytes,
// always use one of bytes1 to bytes32 because they are much cheaper
bytes32 name; // short name (up to 32 bytes)
uint voteCount; // number of accumulated votes
}
address public chairperson;
mapping(address => Voter) public voters;
Proposal[] public proposals;
/**
* @dev Create a new ballot to choose one of 'proposalNames'.
* @param proposalNames names of proposals
*/
constructor(bytes32[] memory proposalNames) {
chairperson = msg.sender;
voters[chairperson].weight = 1;
for (uint i = 0; i < proposalNames.length; i++) {
// 'Proposal({...})' creates a temporary
// Proposal object and 'proposals.push(...)'
// appends it to the end of 'proposals'.
proposals.push(Proposal({
name: proposalNames[i],
voteCount: 0
}));
}
}
/**
* @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.
* @param voter address of voter
*/
function giveRightToVote(address voter) public {
require(
msg.sender == chairperson,
"Only chairperson can give right to vote."
);
require(
!voters[voter].voted,
"The voter already voted."
);
require(voters[voter].weight == 0);
voters[voter].weight = 1;
}
/**
* @dev Delegate your vote to the voter 'to'.
* @param to address to which vote is delegated
*/
function delegate(address to) public {
Voter storage sender = voters[msg.sender];
require(!sender.voted, "You already voted.");
require(to != msg.sender, "Self-delegation is disallowed.");
while (voters[to].delegate != address(0)) {
to = voters[to].delegate;
// We found a loop in the delegation, not allowed.
require(to != msg.sender, "Found loop in delegation.");
}
sender.voted = true;
sender.delegate = to;
Voter storage delegate_ = voters[to];
if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
delegate_.weight += sender.weight;
}
}
/**
* @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.
* @param proposal index of proposal in the proposals array
*/
function vote(uint proposal) public {
Voter storage sender = voters[msg.sender];
require(sender.weight != 0, "Has no right to vote");
require(!sender.voted, "Already voted.");
sender.voted = true;
sender.vote = proposal;
// If 'proposal' is out of the range of the array,
// this will throw automatically and revert all
// changes.
proposals[proposal].voteCount += sender.weight;
}
/**
* @dev Computes the winning proposal taking all previous votes into account.
* @return winningProposal_ index of winning proposal in the proposals array
*/
function winningProposal() public view
returns (uint winningProposal_)
{
uint winningVoteCount = 0;
for (uint p = 0; p < proposals.length; p++) {
if (proposals[p].voteCount > winningVoteCount) {
winningVoteCount = proposals[p].voteCount;
winningProposal_ = p;
}
}
}
/**
* @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then
* @return winnerName_ the name of the winner
*/
function winnerName() public view
returns (bytes32 winnerName_)
{
winnerName_ = proposals[winningProposal()].name;
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_24": {
"entryPoint": null,
"id": 24,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 350,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 371,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_uint256_fromMemory": {
"entryPoint": 392,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 475,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 493,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 525,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 535,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 540,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 563,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1871:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:1"
},
"nodeType": "YulFunctionCall",
"src": "89:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "111:26:1"
},
"nodeType": "YulFunctionCall",
"src": "111:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:1",
"type": ""
}
],
"src": "7:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "219:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "229:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "238:5:1"
},
"nodeType": "YulFunctionCall",
"src": "238:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "229:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "287:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "260:26:1"
},
"nodeType": "YulFunctionCall",
"src": "260:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "260:33:1"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "197:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "205:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "213:5:1",
"type": ""
}
],
"src": "156:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "416:552:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "462:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "464:77:1"
},
"nodeType": "YulFunctionCall",
"src": "464:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "464:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "437:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "446:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "433:3:1"
},
"nodeType": "YulFunctionCall",
"src": "433:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "458:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "429:3:1"
},
"nodeType": "YulFunctionCall",
"src": "429:32:1"
},
"nodeType": "YulIf",
"src": "426:119:1"
},
{
"nodeType": "YulBlock",
"src": "555:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "570:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "574:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "599:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "645:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "656:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "641:3:1"
},
"nodeType": "YulFunctionCall",
"src": "641:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "665:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "609:31:1"
},
"nodeType": "YulFunctionCall",
"src": "609:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "599:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "693:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "708:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "722:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "712:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "738:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "784:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "795:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "780:3:1"
},
"nodeType": "YulFunctionCall",
"src": "780:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "804:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "748:31:1"
},
"nodeType": "YulFunctionCall",
"src": "748:64:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "738:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "832:129:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "847:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "861:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "851:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "877:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "923:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "934:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "919:3:1"
},
"nodeType": "YulFunctionCall",
"src": "919:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "887:31:1"
},
"nodeType": "YulFunctionCall",
"src": "887:64:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "877:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "370:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "381:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "393:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "401:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "409:6:1",
"type": ""
}
],
"src": "305:663:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1014:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1024:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1040:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1034:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1034:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1024:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1007:6:1",
"type": ""
}
],
"src": "974:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1100:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1110:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1139:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1121:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1110:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1082:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1092:7:1",
"type": ""
}
],
"src": "1055:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1202:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1212:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1227:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1234:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1223:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1223:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1212:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1184:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1194:7:1",
"type": ""
}
],
"src": "1157:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1334:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1344:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1355:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1344:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1316:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1326:7:1",
"type": ""
}
],
"src": "1289:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1461:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1478:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1481:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1471:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1471:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1471:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1372:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1584:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1601:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1604:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1594:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1594:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1594:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1495:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1661:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1718:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1727:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1730:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1720:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1720:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1720:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1684:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1709:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1691:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1691:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1681:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1681:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1674:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1674:43:1"
},
"nodeType": "YulIf",
"src": "1671:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1654:5:1",
"type": ""
}
],
"src": "1618:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1789:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1846:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1855:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1858:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1848:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1848:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1848:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1812:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1837:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1819:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1819:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1809:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1809:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1802:43:1"
},
"nodeType": "YulIf",
"src": "1799:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1782:5:1",
"type": ""
}
],
"src": "1746:122:1"
}
]
},
"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_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256_fromMemory(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_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060405161044b38038061044b83398181016040528101906100329190610188565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505050505061024a565b60008151905061016d8161021c565b92915050565b60008151905061018281610233565b92915050565b6000806000606084860312156101a1576101a0610217565b5b60006101af8682870161015e565b93505060206101c08682870161015e565b92505060406101d186828701610173565b9150509250925092565b60006101e6826101ed565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b610225816101db565b811461023057600080fd5b50565b61023c8161020d565b811461024757600080fd5b50565b6101f2806102596000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063b5c1179b1461003b578063e958ff261461005b575b600080fd5b61004361007b565b60405161005293929190610149565b60405180910390f35b6100636100d3565b60405161007293929190610149565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b61013481610180565b82525050565b610143816101b2565b82525050565b600060608201905061015e600083018661012b565b61016b602083018561012b565b610178604083018461013a565b949350505050565b600061018b82610192565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600081905091905056fea26469706673582212202f7c2bbf2aa6bf0876d0b398d9df6006368eb8b706ed5c4071519dd77371e18364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x44B CODESIZE SUB DUP1 PUSH2 0x44B DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x188 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP POP POP POP PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x16D DUP2 PUSH2 0x21C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x182 DUP2 PUSH2 0x233 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x217 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1C0 DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1D1 DUP7 DUP3 DUP8 ADD PUSH2 0x173 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E6 DUP3 PUSH2 0x1ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x225 DUP2 PUSH2 0x1DB JUMP JUMPDEST DUP2 EQ PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x23C DUP2 PUSH2 0x20D JUMP JUMPDEST DUP2 EQ PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1F2 DUP1 PUSH2 0x259 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 0xB5C1179B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x5B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x52 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x134 DUP2 PUSH2 0x180 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x143 DUP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x15E PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x16B PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x178 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x13A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B DUP3 PUSH2 0x192 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F PUSH29 0x2BBF2AA6BF0876D0B398D9DF6006368EB8B706ED5C4071519DD77371E1 DUP4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "37:609:0:-:0;;;69:314;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;183:12;164:16;;:31;;;;;;;;;;;;;;;;;;223:152;;;;;;;;264:10;223:152;;;;;;308:10;223:152;;;;;;342:21;223:152;;;206:14;:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;69:314;;;37:609;;7:143:1;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:::-;213:5;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;156:143;;;;:::o;305:663::-;393:6;401;409;458:2;446:9;437:7;433:23;429:32;426:119;;;464:79;;:::i;:::-;426:119;584:1;609:64;665:7;656:6;645:9;641:22;609:64;:::i;:::-;599:74;;555:128;722:2;748:64;804:7;795:6;784:9;780:22;748:64;:::i;:::-;738:74;;693:129;861:2;887:64;943:7;934:6;923:9;919:22;887:64;:::i;:::-;877:74;;832:129;305:663;;;;;:::o;1055:96::-;1092:7;1121:24;1139:5;1121:24;:::i;:::-;1110:35;;1055:96;;;:::o;1157:126::-;1194:7;1234:42;1227:5;1223:54;1212:65;;1157:126;;;:::o;1289:77::-;1326:7;1355:5;1344:16;;1289:77;;;:::o;1495:117::-;1604:1;1601;1594:12;1618:122;1691:24;1709:5;1691:24;:::i;:::-;1684:5;1681:35;1671:63;;1730:1;1727;1720:12;1671:63;1618:122;:::o;1746:::-;1819:24;1837:5;1819:24;:::i;:::-;1812:5;1809:35;1799:63;;1858:1;1855;1848:12;1799:63;1746:122;:::o;37:609:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@collectionFrom_36": {
"entryPoint": 123,
"id": 36,
"parameterSlots": 0,
"returnSlots": 0
},
"@collectionWhant_39": {
"entryPoint": 211,
"id": 39,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 299,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 314,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 329,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 384,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 402,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 434,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1017:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "72:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "89:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "112:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "94:17:1"
},
"nodeType": "YulFunctionCall",
"src": "94:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "82:6:1"
},
"nodeType": "YulFunctionCall",
"src": "82:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "82:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "60:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "67:3:1",
"type": ""
}
],
"src": "7:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "196:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "213:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "236:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "218:17:1"
},
"nodeType": "YulFunctionCall",
"src": "218:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "206:6:1"
},
"nodeType": "YulFunctionCall",
"src": "206:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "206:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "184:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "191:3:1",
"type": ""
}
],
"src": "131:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "409:288:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "419:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "431:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "442:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "427:3:1"
},
"nodeType": "YulFunctionCall",
"src": "427:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "419:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "499:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "512:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "523:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "508:3:1"
},
"nodeType": "YulFunctionCall",
"src": "508:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "455:43:1"
},
"nodeType": "YulFunctionCall",
"src": "455:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "455:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "580:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "593:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "604:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "589:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "536:43:1"
},
"nodeType": "YulFunctionCall",
"src": "536:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "536:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "662:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "675:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "686:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "671:3:1"
},
"nodeType": "YulFunctionCall",
"src": "671:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "618:43:1"
},
"nodeType": "YulFunctionCall",
"src": "618:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "618:72:1"
}
]
},
"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": "365:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "377:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "385:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "393:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "404:4:1",
"type": ""
}
],
"src": "255:442:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "787:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "769:17:1"
},
"nodeType": "YulFunctionCall",
"src": "769:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "758:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "730:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "740:7:1",
"type": ""
}
],
"src": "703:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "850:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "860:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "875:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "882:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "871:3:1"
},
"nodeType": "YulFunctionCall",
"src": "871:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "860:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "832:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "842:7:1",
"type": ""
}
],
"src": "805:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "982:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "992:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1003:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "992:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "964:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "974:7:1",
"type": ""
}
],
"src": "937:77:1"
}
]
},
"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_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\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 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063b5c1179b1461003b578063e958ff261461005b575b600080fd5b61004361007b565b60405161005293929190610149565b60405180910390f35b6100636100d3565b60405161007293929190610149565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b61013481610180565b82525050565b610143816101b2565b82525050565b600060608201905061015e600083018661012b565b61016b602083018561012b565b610178604083018461013a565b949350505050565b600061018b82610192565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600081905091905056fea26469706673582212202f7c2bbf2aa6bf0876d0b398d9df6006368eb8b706ed5c4071519dd77371e18364736f6c63430008070033",
"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 0xB5C1179B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x5B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x52 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x134 DUP2 PUSH2 0x180 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x143 DUP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x15E PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x16B PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x178 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x13A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B DUP3 PUSH2 0x192 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F PUSH29 0x2BBF2AA6BF0876D0B398D9DF6006368EB8B706ED5C4071519DD77371E1 DUP4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "37:609:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:40;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;599:41;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;552:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;599:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:118:1:-;94:24;112:5;94:24;:::i;:::-;89:3;82:37;7:118;;:::o;131:::-;218:24;236:5;218:24;:::i;:::-;213:3;206:37;131:118;;:::o;255:442::-;404:4;442:2;431:9;427:18;419:26;;455:71;523:1;512:9;508:17;499:6;455:71;:::i;:::-;536:72;604:2;593:9;589:18;580:6;536:72;:::i;:::-;618;686:2;675:9;671:18;662:6;618:72;:::i;:::-;255:442;;;;;;:::o;703:96::-;740:7;769:24;787:5;769:24;:::i;:::-;758:35;;703:96;;;:::o;805:126::-;842:7;882:42;875:5;871:54;860:65;;805:126;;;:::o;937:77::-;974:7;1003:5;992:16;;937:77;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "99600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"collectionFrom()": "infinite",
"collectionWhant()": "infinite"
}
},
"methodIdentifiers": {
"collectionFrom()": "b5c1179b",
"collectionWhant()": "e958ff26"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollectionFrom",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collectionFrom",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "collectionWhant",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollectionFrom",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collectionFrom",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "collectionWhant",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/FactoryCollection.sol": "BargainErc721"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/FactoryCollection.sol": {
"keccak256": "0x3ede2c511e62108b90abfea45043ed013493ab5132ca7c3141392efb5f942143",
"urls": [
"bzz-raw://b90af216f2ac0edbce653429eb390700b01fe62bb2438ac691d1b4f64aae5022",
"dweb:/ipfs/QmWphhqfAFVW6cN2nHuznrahkeGV6rmTCULwJeCE3vumx6"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506106d7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80632fd3f5ea14610030575b600080fd5b61004a600480360381019061004591906100df565b610060565b6040516100579190610196565b60405180910390f35b600080848484604051610072906100a8565b61007e9392919061015f565b604051809103906000f08015801561009a573d6000803e3d6000fd5b509050809150509392505050565b61044b8061025783390190565b6000813590506100c481610228565b92915050565b6000813590506100d98161023f565b92915050565b6000806000606084860312156100f8576100f7610223565b5b6000610106868287016100b5565b9350506020610117868287016100b5565b9250506040610128868287016100ca565b9150509250925092565b61013b816101b1565b82525050565b61014a816101ed565b82525050565b610159816101e3565b82525050565b60006060820190506101746000830186610132565b6101816020830185610132565b61018e6040830184610150565b949350505050565b60006020820190506101ab6000830184610141565b92915050565b60006101bc826101c3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006101f8826101ff565b9050919050565b600061020a82610211565b9050919050565b600061021c826101c3565b9050919050565b600080fd5b610231816101b1565b811461023c57600080fd5b50565b610248816101e3565b811461025357600080fd5b5056fe608060405234801561001057600080fd5b5060405161044b38038061044b83398181016040528101906100329190610188565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505050505061024a565b60008151905061016d8161021c565b92915050565b60008151905061018281610233565b92915050565b6000806000606084860312156101a1576101a0610217565b5b60006101af8682870161015e565b93505060206101c08682870161015e565b92505060406101d186828701610173565b9150509250925092565b60006101e6826101ed565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b610225816101db565b811461023057600080fd5b50565b61023c8161020d565b811461024757600080fd5b50565b6101f2806102596000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063b5c1179b1461003b578063e958ff261461005b575b600080fd5b61004361007b565b60405161005293929190610149565b60405180910390f35b6100636100d3565b60405161007293929190610149565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b61013481610180565b82525050565b610143816101b2565b82525050565b600060608201905061015e600083018661012b565b61016b602083018561012b565b610178604083018461013a565b949350505050565b600061018b82610192565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600081905091905056fea26469706673582212202f7c2bbf2aa6bf0876d0b398d9df6006368eb8b706ed5c4071519dd77371e18364736f6c63430008070033a2646970667358221220454a75b9ceb2735dd1e5a78df686f105f6990f660dcfd4dc3b4794c939328ec364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D7 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FD3F5EA EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x196 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x72 SWAP1 PUSH2 0xA8 JUMP JUMPDEST PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x44B DUP1 PUSH2 0x257 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xC4 DUP2 PUSH2 0x228 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD9 DUP2 PUSH2 0x23F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF8 JUMPI PUSH2 0xF7 PUSH2 0x223 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x106 DUP7 DUP3 DUP8 ADD PUSH2 0xB5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x117 DUP7 DUP3 DUP8 ADD PUSH2 0xB5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x128 DUP7 DUP3 DUP8 ADD PUSH2 0xCA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x13B DUP2 PUSH2 0x1B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x14A DUP2 PUSH2 0x1ED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x1E3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x174 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x132 JUMP JUMPDEST PUSH2 0x181 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x132 JUMP JUMPDEST PUSH2 0x18E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x150 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1AB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x141 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC DUP3 PUSH2 0x1C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F8 DUP3 PUSH2 0x1FF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A DUP3 PUSH2 0x211 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C DUP3 PUSH2 0x1C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x231 DUP2 PUSH2 0x1B1 JUMP JUMPDEST DUP2 EQ PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x248 DUP2 PUSH2 0x1E3 JUMP JUMPDEST DUP2 EQ PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x44B CODESIZE SUB DUP1 PUSH2 0x44B DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x188 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP POP POP POP PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x16D DUP2 PUSH2 0x21C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x182 DUP2 PUSH2 0x233 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x217 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1C0 DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1D1 DUP7 DUP3 DUP8 ADD PUSH2 0x173 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E6 DUP3 PUSH2 0x1ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x225 DUP2 PUSH2 0x1DB JUMP JUMPDEST DUP2 EQ PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x23C DUP2 PUSH2 0x20D JUMP JUMPDEST DUP2 EQ PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1F2 DUP1 PUSH2 0x259 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 0xB5C1179B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x5B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x52 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x134 DUP2 PUSH2 0x180 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x143 DUP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x15E PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x16B PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x178 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x13A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B DUP3 PUSH2 0x192 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F PUSH29 0x2BBF2AA6BF0876D0B398D9DF6006368EB8B706ED5C4071519DD77371E1 DUP4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0x4A PUSH22 0xB9CEB2735DD1E5A78DF686F105F6990F660DCFD4DC3B SELFBALANCE SWAP5 0xC9 CODECOPY ORIGIN DUP15 0xC3 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "652:314:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@createBargain_66": {
"entryPoint": 96,
"id": 66,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 181,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 202,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 223,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 306,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_contract$_BargainErc721_$40_to_t_address_fromStack": {
"entryPoint": 321,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 336,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 351,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_contract$_BargainErc721_$40__to_t_address__fromStack_reversed": {
"entryPoint": 406,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 433,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 483,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_contract$_BargainErc721_$40_to_t_address": {
"entryPoint": 493,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 511,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 529,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 547,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 552,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 575,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3363:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "204:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:1"
},
"nodeType": "YulFunctionCall",
"src": "223:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:1"
},
"nodeType": "YulFunctionCall",
"src": "252:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:1",
"type": ""
}
],
"src": "152:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "397:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "443:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "445:77:1"
},
"nodeType": "YulFunctionCall",
"src": "445:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "445:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "418:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "427:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "414:3:1"
},
"nodeType": "YulFunctionCall",
"src": "414:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "439:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "410:3:1"
},
"nodeType": "YulFunctionCall",
"src": "410:32:1"
},
"nodeType": "YulIf",
"src": "407:119:1"
},
{
"nodeType": "YulBlock",
"src": "536:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "551:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "555:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "580:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "615:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "626:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "611:3:1"
},
"nodeType": "YulFunctionCall",
"src": "611:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "635:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "590:20:1"
},
"nodeType": "YulFunctionCall",
"src": "590:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "580:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "663:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "708:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "743:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "754:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "739:3:1"
},
"nodeType": "YulFunctionCall",
"src": "739:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "763:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "718:20:1"
},
"nodeType": "YulFunctionCall",
"src": "718:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "708:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "791:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "806:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "820:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "810:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "836:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "871:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "882:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "867:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "891:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "846:20:1"
},
"nodeType": "YulFunctionCall",
"src": "846:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "836:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "351:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "362:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "374:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "382:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "390:6:1",
"type": ""
}
],
"src": "297:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "987:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1004:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1027:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1009:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1009:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "997:6:1"
},
"nodeType": "YulFunctionCall",
"src": "997:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "975:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "982:3:1",
"type": ""
}
],
"src": "922:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1131:86:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1148:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1204:5:1"
}
],
"functionName": {
"name": "convert_t_contract$_BargainErc721_$40_to_t_address",
"nodeType": "YulIdentifier",
"src": "1153:50:1"
},
"nodeType": "YulFunctionCall",
"src": "1153:57:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1141:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1141:70:1"
},
"nodeType": "YulExpressionStatement",
"src": "1141:70:1"
}
]
},
"name": "abi_encode_t_contract$_BargainErc721_$40_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1119:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1126:3:1",
"type": ""
}
],
"src": "1046:171:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1288:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1305:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1328:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1310:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1310:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1298:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1298:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1298:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1276:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1283:3:1",
"type": ""
}
],
"src": "1223:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1501:288:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1511:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1523:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1534:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1519:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1519:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1511:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1591:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1604:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1615:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1600:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1600:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1547:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1547:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1547:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1672:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1685:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1696:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1681:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1681:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1628:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1628:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "1628:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1754:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1767:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1778:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1763:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1763:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1710:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1710:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "1710:72:1"
}
]
},
"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": "1457:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1469:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1477:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1485:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1496:4:1",
"type": ""
}
],
"src": "1347:442:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1913:144:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1923:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1935:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1946:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1931:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1931:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1923:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2023:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2036:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2047:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2032:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2032:17:1"
}
],
"functionName": {
"name": "abi_encode_t_contract$_BargainErc721_$40_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1959:63:1"
},
"nodeType": "YulFunctionCall",
"src": "1959:91:1"
},
"nodeType": "YulExpressionStatement",
"src": "1959:91:1"
}
]
},
"name": "abi_encode_tuple_t_contract$_BargainErc721_$40__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1885:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1897:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1908:4:1",
"type": ""
}
],
"src": "1795:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2103:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2113:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2129:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2123:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2123:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2113:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2096:6:1",
"type": ""
}
],
"src": "2063:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2189:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2199:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2228:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2210:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2210:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2199:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2171:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2181:7:1",
"type": ""
}
],
"src": "2144:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2291:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2301:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2316:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2323:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2312:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2312:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2301:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2273:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2283:7:1",
"type": ""
}
],
"src": "2246:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2423:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2433:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2444:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2433:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2405:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2415:7:1",
"type": ""
}
],
"src": "2378:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2541:66:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2551:50:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2595:5:1"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "2564:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2564:37:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2551:9:1"
}
]
}
]
},
"name": "convert_t_contract$_BargainErc721_$40_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2521:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2531:9:1",
"type": ""
}
],
"src": "2461:146:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2673:66:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2683:50:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2727:5:1"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "2696:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2696:37:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2683:9:1"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2653:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2663:9:1",
"type": ""
}
],
"src": "2613:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2805:53:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2815:37:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2846:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2828:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2828:24:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2815:9:1"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2785:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2795:9:1",
"type": ""
}
],
"src": "2745:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2953:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2970:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2973:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2963:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2963:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2963:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2864:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3076:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3093:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3096:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3086:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3086:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3086:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2987:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3153:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3210:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3219:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3222:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3212:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3212:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3212:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3176:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3201:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3183:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3183:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3173:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3173:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3166:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3166:43:1"
},
"nodeType": "YulIf",
"src": "3163:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3146:5:1",
"type": ""
}
],
"src": "3110:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3281:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3338:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3347:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3350:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3340:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3340:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3340:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3304:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3329:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3311:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3311:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3301:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3301:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3294:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3294:43:1"
},
"nodeType": "YulIf",
"src": "3291:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3274:5:1",
"type": ""
}
],
"src": "3238:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_contract$_BargainErc721_$40_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_BargainErc721_$40_to_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_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_contract$_BargainErc721_$40__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_BargainErc721_$40_to_t_address_fromStack(value0, add(headStart, 0))\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_BargainErc721_$40_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function 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 function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80632fd3f5ea14610030575b600080fd5b61004a600480360381019061004591906100df565b610060565b6040516100579190610196565b60405180910390f35b600080848484604051610072906100a8565b61007e9392919061015f565b604051809103906000f08015801561009a573d6000803e3d6000fd5b509050809150509392505050565b61044b8061025783390190565b6000813590506100c481610228565b92915050565b6000813590506100d98161023f565b92915050565b6000806000606084860312156100f8576100f7610223565b5b6000610106868287016100b5565b9350506020610117868287016100b5565b9250506040610128868287016100ca565b9150509250925092565b61013b816101b1565b82525050565b61014a816101ed565b82525050565b610159816101e3565b82525050565b60006060820190506101746000830186610132565b6101816020830185610132565b61018e6040830184610150565b949350505050565b60006020820190506101ab6000830184610141565b92915050565b60006101bc826101c3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006101f8826101ff565b9050919050565b600061020a82610211565b9050919050565b600061021c826101c3565b9050919050565b600080fd5b610231816101b1565b811461023c57600080fd5b50565b610248816101e3565b811461025357600080fd5b5056fe608060405234801561001057600080fd5b5060405161044b38038061044b83398181016040528101906100329190610188565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505050505061024a565b60008151905061016d8161021c565b92915050565b60008151905061018281610233565b92915050565b6000806000606084860312156101a1576101a0610217565b5b60006101af8682870161015e565b93505060206101c08682870161015e565b92505060406101d186828701610173565b9150509250925092565b60006101e6826101ed565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b610225816101db565b811461023057600080fd5b50565b61023c8161020d565b811461024757600080fd5b50565b6101f2806102596000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063b5c1179b1461003b578063e958ff261461005b575b600080fd5b61004361007b565b60405161005293929190610149565b60405180910390f35b6100636100d3565b60405161007293929190610149565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b61013481610180565b82525050565b610143816101b2565b82525050565b600060608201905061015e600083018661012b565b61016b602083018561012b565b610178604083018461013a565b949350505050565b600061018b82610192565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600081905091905056fea26469706673582212202f7c2bbf2aa6bf0876d0b398d9df6006368eb8b706ed5c4071519dd77371e18364736f6c63430008070033a2646970667358221220454a75b9ceb2735dd1e5a78df686f105f6990f660dcfd4dc3b4794c939328ec364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FD3F5EA EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0xDF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x196 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x72 SWAP1 PUSH2 0xA8 JUMP JUMPDEST PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x44B DUP1 PUSH2 0x257 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xC4 DUP2 PUSH2 0x228 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD9 DUP2 PUSH2 0x23F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF8 JUMPI PUSH2 0xF7 PUSH2 0x223 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x106 DUP7 DUP3 DUP8 ADD PUSH2 0xB5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x117 DUP7 DUP3 DUP8 ADD PUSH2 0xB5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x128 DUP7 DUP3 DUP8 ADD PUSH2 0xCA JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x13B DUP2 PUSH2 0x1B1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x14A DUP2 PUSH2 0x1ED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x159 DUP2 PUSH2 0x1E3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x174 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x132 JUMP JUMPDEST PUSH2 0x181 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x132 JUMP JUMPDEST PUSH2 0x18E PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x150 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1AB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x141 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC DUP3 PUSH2 0x1C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F8 DUP3 PUSH2 0x1FF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x20A DUP3 PUSH2 0x211 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21C DUP3 PUSH2 0x1C3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x231 DUP2 PUSH2 0x1B1 JUMP JUMPDEST DUP2 EQ PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x248 DUP2 PUSH2 0x1E3 JUMP JUMPDEST DUP2 EQ PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x44B CODESIZE SUB DUP1 PUSH2 0x44B DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x188 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP POP POP POP PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x16D DUP2 PUSH2 0x21C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x182 DUP2 PUSH2 0x233 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH2 0x1A0 PUSH2 0x217 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AF DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1C0 DUP7 DUP3 DUP8 ADD PUSH2 0x15E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1D1 DUP7 DUP3 DUP8 ADD PUSH2 0x173 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E6 DUP3 PUSH2 0x1ED JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x225 DUP2 PUSH2 0x1DB JUMP JUMPDEST DUP2 EQ PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x23C DUP2 PUSH2 0x20D JUMP JUMPDEST DUP2 EQ PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1F2 DUP1 PUSH2 0x259 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 0xB5C1179B EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x5B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x52 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x63 PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x72 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x134 DUP2 PUSH2 0x180 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x143 DUP2 PUSH2 0x1B2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x15E PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x16B PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12B JUMP JUMPDEST PUSH2 0x178 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x13A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B DUP3 PUSH2 0x192 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F PUSH29 0x2BBF2AA6BF0876D0B398D9DF6006368EB8B706ED5C4071519DD77371E1 DUP4 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0x4A PUSH22 0xB9CEB2735DD1E5A78DF686F105F6990F660DCFD4DC3B SELFBALANCE SWAP5 0xC9 CODECOPY ORIGIN DUP15 0xC3 PUSH5 0x736F6C6343 STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "652:314:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;688:265;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;795:13;821:27;870:10;882:12;896:17;852:62;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;821:93;;932:13;925:20;;;688:265;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:619::-;374:6;382;390;439:2;427:9;418:7;414:23;410:32;407:119;;;445:79;;:::i;:::-;407:119;565:1;590:53;635:7;626:6;615:9;611:22;590:53;:::i;:::-;580:63;;536:117;692:2;718:53;763:7;754:6;743:9;739:22;718:53;:::i;:::-;708:63;;663:118;820:2;846:53;891:7;882:6;871:9;867:22;846:53;:::i;:::-;836:63;;791:118;297:619;;;;;:::o;922:118::-;1009:24;1027:5;1009:24;:::i;:::-;1004:3;997:37;922:118;;:::o;1046:171::-;1153:57;1204:5;1153:57;:::i;:::-;1148:3;1141:70;1046:171;;:::o;1223:118::-;1310:24;1328:5;1310:24;:::i;:::-;1305:3;1298:37;1223:118;;:::o;1347:442::-;1496:4;1534:2;1523:9;1519:18;1511:26;;1547:71;1615:1;1604:9;1600:17;1591:6;1547:71;:::i;:::-;1628:72;1696:2;1685:9;1681:18;1672:6;1628:72;:::i;:::-;1710;1778:2;1767:9;1763:18;1754:6;1710:72;:::i;:::-;1347:442;;;;;;:::o;1795:262::-;1908:4;1946:2;1935:9;1931:18;1923:26;;1959:91;2047:1;2036:9;2032:17;2023:6;1959:91;:::i;:::-;1795:262;;;;:::o;2144:96::-;2181:7;2210:24;2228:5;2210:24;:::i;:::-;2199:35;;2144:96;;;:::o;2246:126::-;2283:7;2323:42;2316:5;2312:54;2301:65;;2246:126;;;:::o;2378:77::-;2415:7;2444:5;2433:16;;2378:77;;;:::o;2461:146::-;2531:9;2564:37;2595:5;2564:37;:::i;:::-;2551:50;;2461:146;;;:::o;2613:126::-;2663:9;2696:37;2727:5;2696:37;:::i;:::-;2683:50;;2613:126;;;:::o;2745:113::-;2795:9;2828:24;2846:5;2828:24;:::i;:::-;2815:37;;2745:113;;;:::o;2987:117::-;3096:1;3093;3086:12;3110:122;3183:24;3201:5;3183:24;:::i;:::-;3176:5;3173:35;3163:63;;3222:1;3219;3212:12;3163:63;3110:122;:::o;3238:::-;3311:24;3329:5;3311:24;:::i;:::-;3304:5;3301:35;3291:63;;3350:1;3347;3340:12;3291:63;3238:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "350200",
"executionCost": "386",
"totalCost": "350586"
},
"external": {
"createBargain(address,address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"createBargain(address,address,uint256)": "2fd3f5ea"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollection",
"type": "uint256"
}
],
"name": "createBargain",
"outputs": [
{
"internalType": "contract BargainErc721",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollection",
"type": "uint256"
}
],
"name": "createBargain",
"outputs": [
{
"internalType": "contract BargainErc721",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/FactoryCollection.sol": "FactoryCollection"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/FactoryCollection.sol": {
"keccak256": "0x3ede2c511e62108b90abfea45043ed013493ab5132ca7c3141392efb5f942143",
"urls": [
"bzz-raw://b90af216f2ac0edbce653429eb390700b01fe62bb2438ac691d1b4f64aae5022",
"dweb:/ipfs/QmWphhqfAFVW6cN2nHuznrahkeGV6rmTCULwJeCE3vumx6"
]
}
},
"version": 1
}
pragma solidity >=0.7.0 <0.9.0;
contract BargainErc721 {
constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){
collectionTarget = collectionTo;
collectionFrom = CollectionAndOwner({
owner: msg.sender,
collectionAddress: collection,
tokenId: tokenIdCollectionFrom
});
}
struct CollectionAndOwner {
address owner;
address collectionAddress;
uint256 tokenId;
}
address collectionTarget;
CollectionAndOwner public collectionFrom;
CollectionAndOwner public collectionWhant;
}
contract FactoryCollection {
function createBargain(address collection, address collectionTo, uint256 tokenIdCollection) public returns(BargainErc721) {
BargainErc721 bargainErc721 = new BargainErc721(collection, collectionTo, tokenIdCollection);
return bargainErc721;
}
}
This file has been truncated, but you can view the full file.
{
"id": "2659c0325aa4812f236e44edcba8fcde",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"contracts/FactoryCollection.sol": {
"content": "pragma solidity >=0.7.0 <0.9.0;\r\n\r\nimport { IERC721 } from \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\r\n\r\ncontract BargainErc721 {\r\n\r\n event Deposit(address account, uint256 tokenId);\r\n\r\n constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){\r\n\r\n collectionTarget = collectionTo;\r\n collectionFrom = CollectionAndOwner({\r\n owner: msg.sender,\r\n collectionAddress: collection,\r\n tokenId: tokenIdCollectionFrom\r\n });\r\n IERC721(collection).safeTransferFrom(msg.sender, address(this), tokenIdCollectionFrom);\r\n }\r\n\r\n struct CollectionAndOwner {\r\n address owner;\r\n address collectionAddress;\r\n uint256 tokenId;\r\n }\r\n\r\n address collectionTarget;\r\n\r\n CollectionAndOwner public collectionFrom;\r\n CollectionAndOwner public collectionWhant;\r\n\r\n function deposit(uint256 tokenId) external {\r\n\r\n collectionWhant = CollectionAndOwner({\r\n owner: msg.sender,\r\n collectionAddress: collectionTarget,\r\n tokenId: tokenId\r\n });\r\n emit Deposit(msg.sender, tokenId);\r\n }\r\n\r\n}\r\n\r\n\r\ncontract FactoryCollection {\r\n\r\n event Create(BargainErc721 indexed pool);\r\n\r\n function createBargain(address collection, address collectionTo, uint256 tokenIdCollection) public returns(BargainErc721) {\r\n BargainErc721 bargainErc721 = new BargainErc721(collection, collectionTo, tokenIdCollection);\r\n emit Create(bargainErc721);\r\n return bargainErc721;\r\n }\r\n\r\n \r\n\r\n}"
},
"@openzeppelin/contracts/token/ERC721/IERC721.sol": {
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n"
},
"@openzeppelin/contracts/utils/introspection/IERC165.sol": {
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\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/ERC721/IERC721.sol": {
"IERC721": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "_approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"details": "Required interface of an ERC721 compliant contract.",
"events": {
"Approval(address,address,uint256)": {
"details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
},
"ApprovalForAll(address,address,bool)": {
"details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
},
"Transfer(address,address,uint256)": {
"details": "Emitted when `tokenId` token is transferred from `from` to `to`."
}
},
"kind": "dev",
"methods": {
"approve(address,uint256)": {
"details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the number of tokens in ``owner``'s account."
},
"getApproved(uint256)": {
"details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."
},
"isApprovedForAll(address,address)": {
"details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"
},
"ownerOf(uint256)": {
"details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."
},
"safeTransferFrom(address,address,uint256)": {
"details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"safeTransferFrom(address,address,uint256,bytes)": {
"details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"setApprovalForAll(address,bool)": {
"details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."
},
"supportsInterface(bytes4)": {
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
},
"transferFrom(address,address,uint256)": {
"details": "Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. 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": {
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"getApproved(uint256)": "081812fc",
"isApprovedForAll(address,address)": "e985e9c5",
"ownerOf(uint256)": "6352211e",
"safeTransferFrom(address,address,uint256)": "42842e0e",
"safeTransferFrom(address,address,uint256,bytes)": "b88d4fde",
"setApprovalForAll(address,bool)": "a22cb465",
"supportsInterface(bytes4)": "01ffc9a7",
"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\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"@openzeppelin/contracts/utils/introspection/IERC165.sol": {
"IERC165": {
"abi": [
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.",
"kind": "dev",
"methods": {
"supportsInterface(bytes4)": {
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
}
},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"supportsInterface(bytes4)": "01ffc9a7"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"contracts/FactoryCollection.sol": {
"BargainErc721": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollectionFrom",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Deposit",
"type": "event"
},
{
"inputs": [],
"name": "collectionFrom",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "collectionWhant",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "collectionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\n mstore(0x40, 0x80)\n /* \"contracts/FactoryCollection.sol\":202:615 constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){\r... */\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/FactoryCollection.sol\":318:330 collectionTo */\n dup2\n /* \"contracts/FactoryCollection.sol\":299:315 collectionTarget */\n 0x00\n dup1\n /* \"contracts/FactoryCollection.sol\":299:330 collectionTarget = collectionTo */\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/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/FactoryCollection.sol\":399:409 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":443:453 collection */\n dup5\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":477:498 tokenIdCollectionFrom */\n dup3\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n dup2\n mstore\n pop\n /* \"contracts/FactoryCollection.sol\":341:355 collectionFrom */\n 0x01\n /* \"contracts/FactoryCollection.sol\":341:510 collectionFrom = CollectionAndOwner({\r... */\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n sstore\n swap1\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":529:539 collection */\n dup3\n /* \"contracts/FactoryCollection.sol\":521:557 IERC721(collection).safeTransferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x42842e0e\n /* \"contracts/FactoryCollection.sol\":558:568 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":578:582 this */\n address\n /* \"contracts/FactoryCollection.sol\":585:606 tokenIdCollectionFrom */\n dup5\n /* \"contracts/FactoryCollection.sol\":521:607 IERC721(collection).safeTransferFrom(msg.sender, address(this), tokenIdCollectionFrom) */\n mload(0x40)\n dup5\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_6\n swap4\n swap3\n swap2\n swap1\n tag_7\n jump\t// in\ntag_6:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_8\n jumpi\n 0x00\n dup1\n revert\ntag_8:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_10\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\ntag_10:\n pop\n pop\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":202:615 constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){\r... */\n pop\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\n jump(tag_11)\n /* \"#utility.yul\":7:150 */\ntag_13:\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_15\n /* \"#utility.yul\":138:143 */\n dup2\n /* \"#utility.yul\":111:144 */\n tag_16\n jump\t// in\ntag_15:\n /* \"#utility.yul\":7:150 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":156:299 */\ntag_17:\n /* \"#utility.yul\":213:218 */\n 0x00\n /* \"#utility.yul\":244:250 */\n dup2\n /* \"#utility.yul\":238:251 */\n mload\n /* \"#utility.yul\":229:251 */\n swap1\n pop\n /* \"#utility.yul\":260:293 */\n tag_19\n /* \"#utility.yul\":287:292 */\n dup2\n /* \"#utility.yul\":260:293 */\n tag_20\n jump\t// in\ntag_19:\n /* \"#utility.yul\":156:299 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":305:968 */\ntag_3:\n /* \"#utility.yul\":393:399 */\n 0x00\n /* \"#utility.yul\":401:407 */\n dup1\n /* \"#utility.yul\":409:415 */\n 0x00\n /* \"#utility.yul\":458:460 */\n 0x60\n /* \"#utility.yul\":446:455 */\n dup5\n /* \"#utility.yul\":437:444 */\n dup7\n /* \"#utility.yul\":433:456 */\n sub\n /* \"#utility.yul\":429:461 */\n slt\n /* \"#utility.yul\":426:545 */\n iszero\n tag_22\n jumpi\n /* \"#utility.yul\":464:543 */\n tag_23\n tag_24\n jump\t// in\ntag_23:\n /* \"#utility.yul\":426:545 */\ntag_22:\n /* \"#utility.yul\":584:585 */\n 0x00\n /* \"#utility.yul\":609:673 */\n tag_25\n /* \"#utility.yul\":665:672 */\n dup7\n /* \"#utility.yul\":656:662 */\n dup3\n /* \"#utility.yul\":645:654 */\n dup8\n /* \"#utility.yul\":641:663 */\n add\n /* \"#utility.yul\":609:673 */\n tag_13\n jump\t// in\ntag_25:\n /* \"#utility.yul\":599:673 */\n swap4\n pop\n /* \"#utility.yul\":555:683 */\n pop\n /* \"#utility.yul\":722:724 */\n 0x20\n /* \"#utility.yul\":748:812 */\n tag_26\n /* \"#utility.yul\":804:811 */\n dup7\n /* \"#utility.yul\":795:801 */\n dup3\n /* \"#utility.yul\":784:793 */\n dup8\n /* \"#utility.yul\":780:802 */\n add\n /* \"#utility.yul\":748:812 */\n tag_13\n jump\t// in\ntag_26:\n /* \"#utility.yul\":738:812 */\n swap3\n pop\n /* \"#utility.yul\":693:822 */\n pop\n /* \"#utility.yul\":861:863 */\n 0x40\n /* \"#utility.yul\":887:951 */\n tag_27\n /* \"#utility.yul\":943:950 */\n dup7\n /* \"#utility.yul\":934:940 */\n dup3\n /* \"#utility.yul\":923:932 */\n dup8\n /* \"#utility.yul\":919:941 */\n add\n /* \"#utility.yul\":887:951 */\n tag_17\n jump\t// in\ntag_27:\n /* \"#utility.yul\":877:951 */\n swap2\n pop\n /* \"#utility.yul\":832:961 */\n pop\n /* \"#utility.yul\":305:968 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":974:1092 */\ntag_28:\n /* \"#utility.yul\":1061:1085 */\n tag_30\n /* \"#utility.yul\":1079:1084 */\n dup2\n /* \"#utility.yul\":1061:1085 */\n tag_31\n jump\t// in\ntag_30:\n /* \"#utility.yul\":1056:1059 */\n dup3\n /* \"#utility.yul\":1049:1086 */\n mstore\n /* \"#utility.yul\":974:1092 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1098:1216 */\ntag_32:\n /* \"#utility.yul\":1185:1209 */\n tag_34\n /* \"#utility.yul\":1203:1208 */\n dup2\n /* \"#utility.yul\":1185:1209 */\n tag_35\n jump\t// in\ntag_34:\n /* \"#utility.yul\":1180:1183 */\n dup3\n /* \"#utility.yul\":1173:1210 */\n mstore\n /* \"#utility.yul\":1098:1216 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1222:1664 */\ntag_7:\n /* \"#utility.yul\":1371:1375 */\n 0x00\n /* \"#utility.yul\":1409:1411 */\n 0x60\n /* \"#utility.yul\":1398:1407 */\n dup3\n /* \"#utility.yul\":1394:1412 */\n add\n /* \"#utility.yul\":1386:1412 */\n swap1\n pop\n /* \"#utility.yul\":1422:1493 */\n tag_37\n /* \"#utility.yul\":1490:1491 */\n 0x00\n /* \"#utility.yul\":1479:1488 */\n dup4\n /* \"#utility.yul\":1475:1492 */\n add\n /* \"#utility.yul\":1466:1472 */\n dup7\n /* \"#utility.yul\":1422:1493 */\n tag_28\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1503:1575 */\n tag_38\n /* \"#utility.yul\":1571:1573 */\n 0x20\n /* \"#utility.yul\":1560:1569 */\n dup4\n /* \"#utility.yul\":1556:1574 */\n add\n /* \"#utility.yul\":1547:1553 */\n dup6\n /* \"#utility.yul\":1503:1575 */\n tag_28\n jump\t// in\ntag_38:\n /* \"#utility.yul\":1585:1657 */\n tag_39\n /* \"#utility.yul\":1653:1655 */\n 0x40\n /* \"#utility.yul\":1642:1651 */\n dup4\n /* \"#utility.yul\":1638:1656 */\n add\n /* \"#utility.yul\":1629:1635 */\n dup5\n /* \"#utility.yul\":1585:1657 */\n tag_32\n jump\t// in\ntag_39:\n /* \"#utility.yul\":1222:1664 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1751:1847 */\ntag_31:\n /* \"#utility.yul\":1788:1795 */\n 0x00\n /* \"#utility.yul\":1817:1841 */\n tag_43\n /* \"#utility.yul\":1835:1840 */\n dup3\n /* \"#utility.yul\":1817:1841 */\n tag_44\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1806:1841 */\n swap1\n pop\n /* \"#utility.yul\":1751:1847 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1853:1979 */\ntag_44:\n /* \"#utility.yul\":1890:1897 */\n 0x00\n /* \"#utility.yul\":1930:1972 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1923:1928 */\n dup3\n /* \"#utility.yul\":1919:1973 */\n and\n /* \"#utility.yul\":1908:1973 */\n swap1\n pop\n /* \"#utility.yul\":1853:1979 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1985:2062 */\ntag_35:\n /* \"#utility.yul\":2022:2029 */\n 0x00\n /* \"#utility.yul\":2051:2056 */\n dup2\n /* \"#utility.yul\":2040:2056 */\n swap1\n pop\n /* \"#utility.yul\":1985:2062 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2191:2308 */\ntag_24:\n /* \"#utility.yul\":2300:2301 */\n 0x00\n /* \"#utility.yul\":2297:2298 */\n dup1\n /* \"#utility.yul\":2290:2302 */\n revert\n /* \"#utility.yul\":2314:2436 */\ntag_16:\n /* \"#utility.yul\":2387:2411 */\n tag_51\n /* \"#utility.yul\":2405:2410 */\n dup2\n /* \"#utility.yul\":2387:2411 */\n tag_31\n jump\t// in\ntag_51:\n /* \"#utility.yul\":2380:2385 */\n dup2\n /* \"#utility.yul\":2377:2412 */\n eq\n /* \"#utility.yul\":2367:2430 */\n tag_52\n jumpi\n /* \"#utility.yul\":2426:2427 */\n 0x00\n /* \"#utility.yul\":2423:2424 */\n dup1\n /* \"#utility.yul\":2416:2428 */\n revert\n /* \"#utility.yul\":2367:2430 */\ntag_52:\n /* \"#utility.yul\":2314:2436 */\n pop\n jump\t// out\n /* \"#utility.yul\":2442:2564 */\ntag_20:\n /* \"#utility.yul\":2515:2539 */\n tag_54\n /* \"#utility.yul\":2533:2538 */\n dup2\n /* \"#utility.yul\":2515:2539 */\n tag_35\n jump\t// in\ntag_54:\n /* \"#utility.yul\":2508:2513 */\n dup2\n /* \"#utility.yul\":2505:2540 */\n eq\n /* \"#utility.yul\":2495:2558 */\n tag_55\n jumpi\n /* \"#utility.yul\":2554:2555 */\n 0x00\n /* \"#utility.yul\":2551:2552 */\n dup1\n /* \"#utility.yul\":2544:2556 */\n revert\n /* \"#utility.yul\":2495:2558 */\ntag_55:\n /* \"#utility.yul\":2442:2564 */\n pop\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\ntag_11:\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/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\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 0xb5c1179b\n eq\n tag_3\n jumpi\n dup1\n 0xb6b55f25\n eq\n tag_4\n jumpi\n dup1\n 0xe958ff26\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/FactoryCollection.sol\":784:824 CollectionAndOwner public collectionFrom */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap4\n swap3\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/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\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/FactoryCollection.sol\":831:872 CollectionAndOwner public collectionWhant */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap4\n swap3\n swap2\n swap1\n tag_9\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FactoryCollection.sol\":784:824 CollectionAndOwner public collectionFrom */\n tag_7:\n 0x01\n dup1\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x02\n add\n sload\n swap1\n pop\n dup4\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\n tag_13:\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/FactoryCollection.sol\":996:1006 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":1040:1056 collectionTarget */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":1080:1087 tokenId */\n dup3\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n dup2\n mstore\n pop\n /* \"contracts/FactoryCollection.sol\":937:952 collectionWhant */\n 0x04\n /* \"contracts/FactoryCollection.sol\":937:1099 collectionWhant = CollectionAndOwner({\r... */\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n sstore\n swap1\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":1115:1143 Deposit(msg.sender, tokenId) */\n 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c\n /* \"contracts/FactoryCollection.sol\":1123:1133 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":1135:1142 tokenId */\n dup3\n /* \"contracts/FactoryCollection.sol\":1115:1143 Deposit(msg.sender, tokenId) */\n mload(0x40)\n tag_18\n swap3\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\n pop\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":831:872 CollectionAndOwner public collectionWhant */\n tag_15:\n 0x04\n dup1\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x02\n add\n sload\n swap1\n pop\n dup4\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_21:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_23\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_24\n jump\t// in\n tag_23:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:481 */\n tag_12:\n /* \"#utility.yul\":211:217 */\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:347 */\n iszero\n tag_26\n jumpi\n /* \"#utility.yul\":266:345 */\n tag_27\n tag_28\n jump\t// in\n tag_27:\n /* \"#utility.yul\":228:347 */\n tag_26:\n /* \"#utility.yul\":386:387 */\n 0x00\n /* \"#utility.yul\":411:464 */\n tag_29\n /* \"#utility.yul\":456:463 */\n dup5\n /* \"#utility.yul\":447:453 */\n dup3\n /* \"#utility.yul\":436:445 */\n dup6\n /* \"#utility.yul\":432:454 */\n add\n /* \"#utility.yul\":411:464 */\n tag_21\n jump\t// in\n tag_29:\n /* \"#utility.yul\":401:464 */\n swap2\n pop\n /* \"#utility.yul\":357:474 */\n pop\n /* \"#utility.yul\":152:481 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":487:605 */\n tag_30:\n /* \"#utility.yul\":574:598 */\n tag_32\n /* \"#utility.yul\":592:597 */\n dup2\n /* \"#utility.yul\":574:598 */\n tag_33\n jump\t// in\n tag_32:\n /* \"#utility.yul\":569:572 */\n dup3\n /* \"#utility.yul\":562:599 */\n mstore\n /* \"#utility.yul\":487:605 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":611:729 */\n tag_34:\n /* \"#utility.yul\":698:722 */\n tag_36\n /* \"#utility.yul\":716:721 */\n dup2\n /* \"#utility.yul\":698:722 */\n tag_37\n jump\t// in\n tag_36:\n /* \"#utility.yul\":693:696 */\n dup3\n /* \"#utility.yul\":686:723 */\n mstore\n /* \"#utility.yul\":611:729 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":735:1177 */\n tag_9:\n /* \"#utility.yul\":884:888 */\n 0x00\n /* \"#utility.yul\":922:924 */\n 0x60\n /* \"#utility.yul\":911:920 */\n dup3\n /* \"#utility.yul\":907:925 */\n add\n /* \"#utility.yul\":899:925 */\n swap1\n pop\n /* \"#utility.yul\":935:1006 */\n tag_39\n /* \"#utility.yul\":1003:1004 */\n 0x00\n /* \"#utility.yul\":992:1001 */\n dup4\n /* \"#utility.yul\":988:1005 */\n add\n /* \"#utility.yul\":979:985 */\n dup7\n /* \"#utility.yul\":935:1006 */\n tag_30\n jump\t// in\n tag_39:\n /* \"#utility.yul\":1016:1088 */\n tag_40\n /* \"#utility.yul\":1084:1086 */\n 0x20\n /* \"#utility.yul\":1073:1082 */\n dup4\n /* \"#utility.yul\":1069:1087 */\n add\n /* \"#utility.yul\":1060:1066 */\n dup6\n /* \"#utility.yul\":1016:1088 */\n tag_30\n jump\t// in\n tag_40:\n /* \"#utility.yul\":1098:1170 */\n tag_41\n /* \"#utility.yul\":1166:1168 */\n 0x40\n /* \"#utility.yul\":1155:1164 */\n dup4\n /* \"#utility.yul\":1151:1169 */\n add\n /* \"#utility.yul\":1142:1148 */\n dup5\n /* \"#utility.yul\":1098:1170 */\n tag_34\n jump\t// in\n tag_41:\n /* \"#utility.yul\":735:1177 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1183:1515 */\n tag_19:\n /* \"#utility.yul\":1304:1308 */\n 0x00\n /* \"#utility.yul\":1342:1344 */\n 0x40\n /* \"#utility.yul\":1331:1340 */\n dup3\n /* \"#utility.yul\":1327:1345 */\n add\n /* \"#utility.yul\":1319:1345 */\n swap1\n pop\n /* \"#utility.yul\":1355:1426 */\n tag_43\n /* \"#utility.yul\":1423:1424 */\n 0x00\n /* \"#utility.yul\":1412:1421 */\n dup4\n /* \"#utility.yul\":1408:1425 */\n add\n /* \"#utility.yul\":1399:1405 */\n dup6\n /* \"#utility.yul\":1355:1426 */\n tag_30\n jump\t// in\n tag_43:\n /* \"#utility.yul\":1436:1508 */\n tag_44\n /* \"#utility.yul\":1504:1506 */\n 0x20\n /* \"#utility.yul\":1493:1502 */\n dup4\n /* \"#utility.yul\":1489:1507 */\n add\n /* \"#utility.yul\":1480:1486 */\n dup5\n /* \"#utility.yul\":1436:1508 */\n tag_34\n jump\t// in\n tag_44:\n /* \"#utility.yul\":1183:1515 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1602:1698 */\n tag_33:\n /* \"#utility.yul\":1639:1646 */\n 0x00\n /* \"#utility.yul\":1668:1692 */\n tag_48\n /* \"#utility.yul\":1686:1691 */\n dup3\n /* \"#utility.yul\":1668:1692 */\n tag_49\n jump\t// in\n tag_48:\n /* \"#utility.yul\":1657:1692 */\n swap1\n pop\n /* \"#utility.yul\":1602:1698 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1704:1830 */\n tag_49:\n /* \"#utility.yul\":1741:1748 */\n 0x00\n /* \"#utility.yul\":1781:1823 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1774:1779 */\n dup3\n /* \"#utility.yul\":1770:1824 */\n and\n /* \"#utility.yul\":1759:1824 */\n swap1\n pop\n /* \"#utility.yul\":1704:1830 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1836:1913 */\n tag_37:\n /* \"#utility.yul\":1873:1880 */\n 0x00\n /* \"#utility.yul\":1902:1907 */\n dup2\n /* \"#utility.yul\":1891:1907 */\n swap1\n pop\n /* \"#utility.yul\":1836:1913 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2042:2159 */\n tag_28:\n /* \"#utility.yul\":2151:2152 */\n 0x00\n /* \"#utility.yul\":2148:2149 */\n dup1\n /* \"#utility.yul\":2141:2153 */\n revert\n /* \"#utility.yul\":2165:2287 */\n tag_24:\n /* \"#utility.yul\":2238:2262 */\n tag_56\n /* \"#utility.yul\":2256:2261 */\n dup2\n /* \"#utility.yul\":2238:2262 */\n tag_37\n jump\t// in\n tag_56:\n /* \"#utility.yul\":2231:2236 */\n dup2\n /* \"#utility.yul\":2228:2263 */\n eq\n /* \"#utility.yul\":2218:2281 */\n tag_57\n jumpi\n /* \"#utility.yul\":2277:2278 */\n 0x00\n /* \"#utility.yul\":2274:2275 */\n dup1\n /* \"#utility.yul\":2267:2279 */\n revert\n /* \"#utility.yul\":2218:2281 */\n tag_57:\n /* \"#utility.yul\":2165:2287 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {
"@_173": {
"entryPoint": null,
"id": 173,
"parameterSlots": 3,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 461,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256_fromMemory": {
"entryPoint": 482,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_uint256_fromMemory": {
"entryPoint": 503,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 586,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 601,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 616,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 671,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 689,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 721,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 731,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 736,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 759,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2567:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:3"
},
"nodeType": "YulFunctionCall",
"src": "89:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "111:26:3"
},
"nodeType": "YulFunctionCall",
"src": "111:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:3"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:3",
"type": ""
}
],
"src": "7:143:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "219:80:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "229:22:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "244:6:3"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "238:5:3"
},
"nodeType": "YulFunctionCall",
"src": "238:13:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "229:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "287:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "260:26:3"
},
"nodeType": "YulFunctionCall",
"src": "260:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "260:33:3"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "197:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "205:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "213:5:3",
"type": ""
}
],
"src": "156:143:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "416:552:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "462:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "464:77:3"
},
"nodeType": "YulFunctionCall",
"src": "464:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "464:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "437:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "446:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "433:3:3"
},
"nodeType": "YulFunctionCall",
"src": "433:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "458:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "429:3:3"
},
"nodeType": "YulFunctionCall",
"src": "429:32:3"
},
"nodeType": "YulIf",
"src": "426:119:3"
},
{
"nodeType": "YulBlock",
"src": "555:128:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "570:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "584:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "574:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "599:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "645:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "656:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "641:3:3"
},
"nodeType": "YulFunctionCall",
"src": "641:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "665:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "609:31:3"
},
"nodeType": "YulFunctionCall",
"src": "609:64:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "599:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "693:129:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "708:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "722:2:3",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "712:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "738:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "784:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "795:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "780:3:3"
},
"nodeType": "YulFunctionCall",
"src": "780:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "804:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "748:31:3"
},
"nodeType": "YulFunctionCall",
"src": "748:64:3"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "738:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "832:129:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "847:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "861:2:3",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "851:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "877:74:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "923:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "934:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "919:3:3"
},
"nodeType": "YulFunctionCall",
"src": "919:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "887:31:3"
},
"nodeType": "YulFunctionCall",
"src": "887:64:3"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "877:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "370:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "381:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "393:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "401:6:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "409:6:3",
"type": ""
}
],
"src": "305:663:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1039:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1056:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1079:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1061:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1061:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1049:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1049:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1049:37:3"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1027:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1034:3:3",
"type": ""
}
],
"src": "974:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1163:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1180:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1203:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1185:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1185:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1173:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1173:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1173:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1151:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1158:3:3",
"type": ""
}
],
"src": "1098:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1376:288:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1386:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1398:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1409:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1394:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1394:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1386:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1466:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1479:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1490:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1475:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1475:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1422:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1422:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "1422:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1547:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1560:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1571:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1556:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1556:18:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1503:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1503:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1503:72:3"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1629:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1642:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1653:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1638:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1638:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1585:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1585:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1585:72:3"
}
]
},
"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": "1332:9:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1344:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1352:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1360:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1371:4:3",
"type": ""
}
],
"src": "1222:442:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1710:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1720:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1736:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1730:5:3"
},
"nodeType": "YulFunctionCall",
"src": "1730:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1720:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1703:6:3",
"type": ""
}
],
"src": "1670:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1796:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1806:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1835:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1817:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1817:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1806:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1778:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1788:7:3",
"type": ""
}
],
"src": "1751:96:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1898:81:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1908:65:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1923:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1930:42:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1919:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1919:54:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1908:7:3"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1880:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1890:7:3",
"type": ""
}
],
"src": "1853:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2030:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2040:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2051:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2040:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2012:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2022:7:3",
"type": ""
}
],
"src": "1985:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2157:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2174:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2177:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2167:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2167:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2167:12:3"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2068:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2280:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2297:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2300:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2290:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2290:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2290:12:3"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2191:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2357:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2414:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2423:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2426:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2416:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2416:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2416:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2380:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2405:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2387:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2387:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2377:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2377:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2370:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2370:43:3"
},
"nodeType": "YulIf",
"src": "2367:63:3"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2350:5:3",
"type": ""
}
],
"src": "2314:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2485:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2542:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2551:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2554:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2544:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2544:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2544:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2508:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2533:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2515:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2515:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2505:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2505:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2498:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2498:43:3"
},
"nodeType": "YulIf",
"src": "2495:63:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2478:5:3",
"type": ""
}
],
"src": "2442:122:3"
}
]
},
"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_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256_fromMemory(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_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\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 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516106fd3803806106fd833981810160405281019061003291906101f7565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050508273ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b815260040161019393929190610268565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050505061030e565b6000815190506101dc816102e0565b92915050565b6000815190506101f1816102f7565b92915050565b6000806000606084860312156102105761020f6102db565b5b600061021e868287016101cd565b935050602061022f868287016101cd565b9250506040610240868287016101e2565b9150509250925092565b6102538161029f565b82525050565b610262816102d1565b82525050565b600060608201905061027d600083018661024a565b61028a602083018561024a565b6102976040830184610259565b949350505050565b60006102aa826102b1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6102e98161029f565b81146102f457600080fd5b50565b610300816102d1565b811461030b57600080fd5b50565b6103e08061031d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b5c1179b14610046578063b6b55f2514610066578063e958ff2614610082575b600080fd5b61004e6100a2565b60405161005d939291906102f2565b60405180910390f35b610080600480360381019061007b91906102a7565b6100fa565b005b61008a61023a565b604051610099939291906102f2565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c338260405161022f929190610329565b60405180910390a150565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000813590506102a181610393565b92915050565b6000602082840312156102bd576102bc61038e565b5b60006102cb84828501610292565b91505092915050565b6102dd81610352565b82525050565b6102ec81610384565b82525050565b600060608201905061030760008301866102d4565b61031460208301856102d4565b61032160408301846102e3565b949350505050565b600060408201905061033e60008301856102d4565b61034b60208301846102e3565b9392505050565b600061035d82610364565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b61039c81610384565b81146103a757600080fd5b5056fea2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6FD CODESIZE SUB DUP1 PUSH2 0x6FD DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x42842E0E CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x193 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x268 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x30E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1DC DUP2 PUSH2 0x2E0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1 DUP2 PUSH2 0x2F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x210 JUMPI PUSH2 0x20F PUSH2 0x2DB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x22F DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x240 DUP7 DUP3 DUP8 ADD PUSH2 0x1E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x253 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x262 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x27D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x28A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x297 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x259 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA DUP3 PUSH2 0x2B1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E9 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP2 EQ PUSH2 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x300 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP2 EQ PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3E0 DUP1 PUSH2 0x31D 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 0xB5C1179B EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB6B55F25 EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0xFA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP PUSH32 0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP3 SWAP2 SWAP1 PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A1 DUP2 PUSH2 0x393 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD JUMPI PUSH2 0x2BC PUSH2 0x38E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CB DUP5 DUP3 DUP6 ADD PUSH2 0x292 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2DD DUP2 PUSH2 0x352 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2EC DUP2 PUSH2 0x384 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x307 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x314 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x321 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x34B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35D DUP3 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39C DUP2 PUSH2 0x384 JUMP JUMPDEST DUP2 EQ PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 SIGNEXTEND 0x1E PUSH32 0xD9992F859F4D4B56A2C438446FDB412B15806B0D287BB640E565E88464736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "114:1042:2:-:0;;;202:413;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;318:12;299:16;;:31;;;;;;;;;;;;;;;;;;358:152;;;;;;;;399:10;358:152;;;;;;443:10;358:152;;;;;;477:21;358:152;;;341:14;:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;529:10;521:36;;;558:10;578:4;585:21;521:86;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:413;;;114:1042;;7:143:3;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;7:143;;;;:::o;156:::-;213:5;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;156:143;;;;:::o;305:663::-;393:6;401;409;458:2;446:9;437:7;433:23;429:32;426:119;;;464:79;;:::i;:::-;426:119;584:1;609:64;665:7;656:6;645:9;641:22;609:64;:::i;:::-;599:74;;555:128;722:2;748:64;804:7;795:6;784:9;780:22;748:64;:::i;:::-;738:74;;693:129;861:2;887:64;943:7;934:6;923:9;919:22;887:64;:::i;:::-;877:74;;832:129;305:663;;;;;:::o;974:118::-;1061:24;1079:5;1061:24;:::i;:::-;1056:3;1049:37;974:118;;:::o;1098:::-;1185:24;1203:5;1185:24;:::i;:::-;1180:3;1173:37;1098:118;;:::o;1222:442::-;1371:4;1409:2;1398:9;1394:18;1386:26;;1422:71;1490:1;1479:9;1475:17;1466:6;1422:71;:::i;:::-;1503:72;1571:2;1560:9;1556:18;1547:6;1503:72;:::i;:::-;1585;1653:2;1642:9;1638:18;1629:6;1585:72;:::i;:::-;1222:442;;;;;;:::o;1751:96::-;1788:7;1817:24;1835:5;1817:24;:::i;:::-;1806:35;;1751:96;;;:::o;1853:126::-;1890:7;1930:42;1923:5;1919:54;1908:65;;1853:126;;;:::o;1985:77::-;2022:7;2051:5;2040:16;;1985:77;;;:::o;2191:117::-;2300:1;2297;2290:12;2314:122;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:::-;2515:24;2533:5;2515:24;:::i;:::-;2508:5;2505:35;2495:63;;2554:1;2551;2544:12;2495:63;2442:122;:::o;114:1042:2:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@collectionFrom_185": {
"entryPoint": 162,
"id": 185,
"parameterSlots": 0,
"returnSlots": 0
},
"@collectionWhant_188": {
"entryPoint": 570,
"id": 188,
"parameterSlots": 0,
"returnSlots": 0
},
"@deposit_209": {
"entryPoint": 250,
"id": 209,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 658,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 679,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 724,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 739,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 754,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 809,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 850,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 868,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 910,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 915,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2290:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:3"
},
"nodeType": "YulFunctionCall",
"src": "78:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:3"
},
"nodeType": "YulFunctionCall",
"src": "107:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:3"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:3",
"type": ""
}
],
"src": "7:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:263:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:3"
},
"nodeType": "YulFunctionCall",
"src": "266:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:3"
},
"nodeType": "YulFunctionCall",
"src": "235:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:3"
},
"nodeType": "YulFunctionCall",
"src": "231:32:3"
},
"nodeType": "YulIf",
"src": "228:119:3"
},
{
"nodeType": "YulBlock",
"src": "357:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:3"
},
"nodeType": "YulFunctionCall",
"src": "432:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "411:20:3"
},
"nodeType": "YulFunctionCall",
"src": "411:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:3",
"type": ""
}
],
"src": "152:329:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "552:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "569:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "592:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "574:17:3"
},
"nodeType": "YulFunctionCall",
"src": "574:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "562:6:3"
},
"nodeType": "YulFunctionCall",
"src": "562:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "562:37:3"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "540:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "547:3:3",
"type": ""
}
],
"src": "487:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "676:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "693:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "716:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "698:17:3"
},
"nodeType": "YulFunctionCall",
"src": "698:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "686:6:3"
},
"nodeType": "YulFunctionCall",
"src": "686:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "686:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "664:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "671:3:3",
"type": ""
}
],
"src": "611:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "889:288:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "899:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "911:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "922:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "907:3:3"
},
"nodeType": "YulFunctionCall",
"src": "907:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "899:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "979:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "992:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1003:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "988:3:3"
},
"nodeType": "YulFunctionCall",
"src": "988:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "935:43:3"
},
"nodeType": "YulFunctionCall",
"src": "935:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "935:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1060:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1073:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1084:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1069:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1069:18:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1016:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1016:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1016:72:3"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1142:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1155:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1166:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1151:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1151:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1098:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1098:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1098:72:3"
}
]
},
"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": "845:9:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "857:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "865:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "873:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "884:4:3",
"type": ""
}
],
"src": "735:442:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1309:206:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1319:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1331:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1342:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1327:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1327:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1319:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1399:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1412:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1423:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1408:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1408:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1355:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1355:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "1355:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1480:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1493:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1504:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1489:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1489:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1436:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1436:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1436:72:3"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1273:9:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1285:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1293:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1304:4:3",
"type": ""
}
],
"src": "1183:332:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1561:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1571:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1587:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1581:5:3"
},
"nodeType": "YulFunctionCall",
"src": "1581:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1571:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1554:6:3",
"type": ""
}
],
"src": "1521:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1647:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1657:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1686:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1668:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1668:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1657:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1629:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1639:7:3",
"type": ""
}
],
"src": "1602:96:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1749:81:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1759:65:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1774:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:42:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1770:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1770:54:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1759:7:3"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1731:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1741:7:3",
"type": ""
}
],
"src": "1704:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1881:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1891:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1902:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1891:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1863:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1873:7:3",
"type": ""
}
],
"src": "1836:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2008:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2025:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2028:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2018:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2018:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2018:12:3"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1919:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2131:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2148:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2151:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2141:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2141:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2141:12:3"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2042:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2208:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2265:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2274:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2277:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2267:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2267:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2267:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2231:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2256:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2238:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2238:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2228:2:3"
},
"nodeType": "YulFunctionCall",
"src": "2228:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2221:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2221:43:3"
},
"nodeType": "YulIf",
"src": "2218:63:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2201:5:3",
"type": ""
}
],
"src": "2165:122:3"
}
]
},
"contents": "{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c8063b5c1179b14610046578063b6b55f2514610066578063e958ff2614610082575b600080fd5b61004e6100a2565b60405161005d939291906102f2565b60405180910390f35b610080600480360381019061007b91906102a7565b6100fa565b005b61008a61023a565b604051610099939291906102f2565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c338260405161022f929190610329565b60405180910390a150565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000813590506102a181610393565b92915050565b6000602082840312156102bd576102bc61038e565b5b60006102cb84828501610292565b91505092915050565b6102dd81610352565b82525050565b6102ec81610384565b82525050565b600060608201905061030760008301866102d4565b61031460208301856102d4565b61032160408301846102e3565b949350505050565b600060408201905061033e60008301856102d4565b61034b60208301846102e3565b9392505050565b600061035d82610364565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b61039c81610384565b81146103a757600080fd5b5056fea2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033",
"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 0xB5C1179B EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB6B55F25 EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0xFA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP PUSH32 0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP3 SWAP2 SWAP1 PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A1 DUP2 PUSH2 0x393 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD JUMPI PUSH2 0x2BC PUSH2 0x38E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CB DUP5 DUP3 DUP6 ADD PUSH2 0x292 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2DD DUP2 PUSH2 0x352 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2EC DUP2 PUSH2 0x384 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x307 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x314 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x321 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x34B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35D DUP3 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39C DUP2 PUSH2 0x384 JUMP JUMPDEST DUP2 EQ PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 SIGNEXTEND 0x1E PUSH32 0xD9992F859F4D4B56A2C438446FDB412B15806B0D287BB640E565E88464736F6C PUSH4 0x43000807 STOP CALLER ",
"sourceMap": "114:1042:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;784:40;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;881:270;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;831:41;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;784:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;881:270::-;955:144;;;;;;;;996:10;955:144;;;;;;1040:16;;;;;;;;;;955:144;;;;;;1080:7;955:144;;;937:15;:162;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1115:28;1123:10;1135:7;1115:28;;;;;;;:::i;:::-;;;;;;;;881:270;:::o;831:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:3:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:::-;698:24;716:5;698:24;:::i;:::-;693:3;686:37;611:118;;:::o;735:442::-;884:4;922:2;911:9;907:18;899:26;;935:71;1003:1;992:9;988:17;979:6;935:71;:::i;:::-;1016:72;1084:2;1073:9;1069:18;1060:6;1016:72;:::i;:::-;1098;1166:2;1155:9;1151:18;1142:6;1098:72;:::i;:::-;735:442;;;;;;:::o;1183:332::-;1304:4;1342:2;1331:9;1327:18;1319:26;;1355:71;1423:1;1412:9;1408:17;1399:6;1355:71;:::i;:::-;1436:72;1504:2;1493:9;1489:18;1480:6;1436:72;:::i;:::-;1183:332;;;;;:::o;1602:96::-;1639:7;1668:24;1686:5;1668:24;:::i;:::-;1657:35;;1602:96;;;:::o;1704:126::-;1741:7;1781:42;1774:5;1770:54;1759:65;;1704:126;;;:::o;1836:77::-;1873:7;1902:5;1891:16;;1836:77;;;:::o;2042:117::-;2151:1;2148;2141:12;2165:122;2238:24;2256:5;2238:24;:::i;:::-;2231:5;2228:35;2218:63;;2277:1;2274;2267:12;2218:63;2165:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "198400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"collectionFrom()": "infinite",
"collectionWhant()": "infinite",
"deposit(uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 114,
"end": 1156,
"name": "MSTORE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ISZERO",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 202,
"end": 615,
"name": "JUMPI",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "REVERT",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 202,
"end": 615,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 202,
"end": 615,
"name": "MLOAD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSHSIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CODESIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SUB",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSHSIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP4",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CODECOPY",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ADD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 202,
"end": 615,
"name": "MSTORE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ADD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SWAP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "2"
},
{
"begin": 202,
"end": 615,
"name": "SWAP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SWAP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "3"
},
{
"begin": 202,
"end": 615,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 202,
"end": 615,
"name": "tag",
"source": 2,
"value": "2"
},
{
"begin": 202,
"end": 615,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 318,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 315,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 299,
"end": 315,
"name": "DUP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 299,
"end": 330,
"name": "EXP",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SLOAD",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 299,
"end": 330,
"name": "MUL",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "NOT",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "AND",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SWAP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP4",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 299,
"end": 330,
"name": "AND",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "MUL",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "OR",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SWAP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SSTORE",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "POP",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 358,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP1",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "60"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP1",
"source": 2
},
{
"begin": 399,
"end": 409,
"name": "CALLER",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 358,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 443,
"end": 453,
"name": "DUP5",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 358,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 477,
"end": 498,
"name": "DUP3",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 355,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 341,
"end": 510,
"name": "EXP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "NOT",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP4",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "OR",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 341,
"end": 510,
"name": "EXP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "NOT",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP4",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "OR",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 529,
"end": 539,
"name": "DUP3",
"source": 2
},
{
"begin": 521,
"end": 557,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 521,
"end": 557,
"name": "AND",
"source": 2
},
{
"begin": 521,
"end": 557,
"name": "PUSH",
"source": 2,
"value": "42842E0E"
},
{
"begin": 558,
"end": 568,
"name": "CALLER",
"source": 2
},
{
"begin": 578,
"end": 582,
"name": "ADDRESS",
"source": 2
},
{
"begin": 585,
"end": 606,
"name": "DUP5",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 521,
"end": 607,
"name": "MLOAD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP5",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFF"
},
{
"begin": 521,
"end": 607,
"name": "AND",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "E0"
},
{
"begin": 521,
"end": 607,
"name": "SHL",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "MSTORE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 521,
"end": 607,
"name": "ADD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "6"
},
{
"begin": 521,
"end": 607,
"name": "SWAP4",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP3",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "7"
},
{
"begin": 521,
"end": 607,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "6"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 521,
"end": 607,
"name": "MLOAD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP4",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SUB",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP8",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "EXTCODESIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "8"
},
{
"begin": 521,
"end": 607,
"name": "JUMPI",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "REVERT",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "8"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "GAS",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "CALL",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "10"
},
{
"begin": 521,
"end": 607,
"name": "JUMPI",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATACOPY",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "REVERT",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "10"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "11"
},
{
"begin": 114,
"end": 1156,
"name": "JUMP",
"source": 2
},
{
"begin": 7,
"end": 150,
"name": "tag",
"source": 3,
"value": "13"
},
{
"begin": 7,
"end": 150,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 64,
"end": 69,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 95,
"end": 101,
"name": "DUP2",
"source": 3
},
{
"begin": 89,
"end": 102,
"name": "MLOAD",
"source": 3
},
{
"begin": 80,
"end": 102,
"name": "SWAP1",
"source": 3
},
{
"begin": 80,
"end": 102,
"name": "POP",
"source": 3
},
{
"begin": 111,
"end": 144,
"name": "PUSH [tag]",
"source": 3,
"value": "15"
},
{
"begin": 138,
"end": 143,
"name": "DUP2",
"source": 3
},
{
"begin": 111,
"end": 144,
"name": "PUSH [tag]",
"source": 3,
"value": "16"
},
{
"begin": 111,
"end": 144,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 111,
"end": 144,
"name": "tag",
"source": 3,
"value": "15"
},
{
"begin": 111,
"end": 144,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "SWAP3",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "SWAP2",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 156,
"end": 299,
"name": "tag",
"source": 3,
"value": "17"
},
{
"begin": 156,
"end": 299,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 213,
"end": 218,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 244,
"end": 250,
"name": "DUP2",
"source": 3
},
{
"begin": 238,
"end": 251,
"name": "MLOAD",
"source": 3
},
{
"begin": 229,
"end": 251,
"name": "SWAP1",
"source": 3
},
{
"begin": 229,
"end": 251,
"name": "POP",
"source": 3
},
{
"begin": 260,
"end": 293,
"name": "PUSH [tag]",
"source": 3,
"value": "19"
},
{
"begin": 287,
"end": 292,
"name": "DUP2",
"source": 3
},
{
"begin": 260,
"end": 293,
"name": "PUSH [tag]",
"source": 3,
"value": "20"
},
{
"begin": 260,
"end": 293,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 260,
"end": 293,
"name": "tag",
"source": 3,
"value": "19"
},
{
"begin": 260,
"end": 293,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "SWAP3",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "SWAP2",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "POP",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "POP",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 305,
"end": 968,
"name": "tag",
"source": 3,
"value": "3"
},
{
"begin": 305,
"end": 968,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 393,
"end": 399,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 401,
"end": 407,
"name": "DUP1",
"source": 3
},
{
"begin": 409,
"end": 415,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 458,
"end": 460,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 446,
"end": 455,
"name": "DUP5",
"source": 3
},
{
"begin": 437,
"end": 444,
"name": "DUP7",
"source": 3
},
{
"begin": 433,
"end": 456,
"name": "SUB",
"source": 3
},
{
"begin": 429,
"end": 461,
"name": "SLT",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "ISZERO",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "PUSH [tag]",
"source": 3,
"value": "22"
},
{
"begin": 426,
"end": 545,
"name": "JUMPI",
"source": 3
},
{
"begin": 464,
"end": 543,
"name": "PUSH [tag]",
"source": 3,
"value": "23"
},
{
"begin": 464,
"end": 543,
"name": "PUSH [tag]",
"source": 3,
"value": "24"
},
{
"begin": 464,
"end": 543,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 464,
"end": 543,
"name": "tag",
"source": 3,
"value": "23"
},
{
"begin": 464,
"end": 543,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "tag",
"source": 3,
"value": "22"
},
{
"begin": 426,
"end": 545,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 609,
"end": 673,
"name": "PUSH [tag]",
"source": 3,
"value": "25"
},
{
"begin": 665,
"end": 672,
"name": "DUP7",
"source": 3
},
{
"begin": 656,
"end": 662,
"name": "DUP3",
"source": 3
},
{
"begin": 645,
"end": 654,
"name": "DUP8",
"source": 3
},
{
"begin": 641,
"end": 663,
"name": "ADD",
"source": 3
},
{
"begin": 609,
"end": 673,
"name": "PUSH [tag]",
"source": 3,
"value": "13"
},
{
"begin": 609,
"end": 673,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 609,
"end": 673,
"name": "tag",
"source": 3,
"value": "25"
},
{
"begin": 609,
"end": 673,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 599,
"end": 673,
"name": "SWAP4",
"source": 3
},
{
"begin": 599,
"end": 673,
"name": "POP",
"source": 3
},
{
"begin": 555,
"end": 683,
"name": "POP",
"source": 3
},
{
"begin": 722,
"end": 724,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 748,
"end": 812,
"name": "PUSH [tag]",
"source": 3,
"value": "26"
},
{
"begin": 804,
"end": 811,
"name": "DUP7",
"source": 3
},
{
"begin": 795,
"end": 801,
"name": "DUP3",
"source": 3
},
{
"begin": 784,
"end": 793,
"name": "DUP8",
"source": 3
},
{
"begin": 780,
"end": 802,
"name": "ADD",
"source": 3
},
{
"begin": 748,
"end": 812,
"name": "PUSH [tag]",
"source": 3,
"value": "13"
},
{
"begin": 748,
"end": 812,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 748,
"end": 812,
"name": "tag",
"source": 3,
"value": "26"
},
{
"begin": 748,
"end": 812,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 738,
"end": 812,
"name": "SWAP3",
"source": 3
},
{
"begin": 738,
"end": 812,
"name": "POP",
"source": 3
},
{
"begin": 693,
"end": 822,
"name": "POP",
"source": 3
},
{
"begin": 861,
"end": 863,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 887,
"end": 951,
"name": "PUSH [tag]",
"source": 3,
"value": "27"
},
{
"begin": 943,
"end": 950,
"name": "DUP7",
"source": 3
},
{
"begin": 934,
"end": 940,
"name": "DUP3",
"source": 3
},
{
"begin": 923,
"end": 932,
"name": "DUP8",
"source": 3
},
{
"begin": 919,
"end": 941,
"name": "ADD",
"source": 3
},
{
"begin": 887,
"end": 951,
"name": "PUSH [tag]",
"source": 3,
"value": "17"
},
{
"begin": 887,
"end": 951,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 887,
"end": 951,
"name": "tag",
"source": 3,
"value": "27"
},
{
"begin": 887,
"end": 951,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 877,
"end": 951,
"name": "SWAP2",
"source": 3
},
{
"begin": 877,
"end": 951,
"name": "POP",
"source": 3
},
{
"begin": 832,
"end": 961,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 974,
"end": 1092,
"name": "tag",
"source": 3,
"value": "28"
},
{
"begin": 974,
"end": 1092,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1061,
"end": 1085,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1079,
"end": 1084,
"name": "DUP2",
"source": 3
},
{
"begin": 1061,
"end": 1085,
"name": "PUSH [tag]",
"source": 3,
"value": "31"
},
{
"begin": 1061,
"end": 1085,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1061,
"end": 1085,
"name": "tag",
"source": 3,
"value": "30"
},
{
"begin": 1061,
"end": 1085,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1056,
"end": 1059,
"name": "DUP3",
"source": 3
},
{
"begin": 1049,
"end": 1086,
"name": "MSTORE",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "POP",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "POP",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1098,
"end": 1216,
"name": "tag",
"source": 3,
"value": "32"
},
{
"begin": 1098,
"end": 1216,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1185,
"end": 1209,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1203,
"end": 1208,
"name": "DUP2",
"source": 3
},
{
"begin": 1185,
"end": 1209,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 1185,
"end": 1209,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1185,
"end": 1209,
"name": "tag",
"source": 3,
"value": "34"
},
{
"begin": 1185,
"end": 1209,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1180,
"end": 1183,
"name": "DUP3",
"source": 3
},
{
"begin": 1173,
"end": 1210,
"name": "MSTORE",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "POP",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "POP",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1222,
"end": 1664,
"name": "tag",
"source": 3,
"value": "7"
},
{
"begin": 1222,
"end": 1664,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1371,
"end": 1375,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1409,
"end": 1411,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 1398,
"end": 1407,
"name": "DUP3",
"source": 3
},
{
"begin": 1394,
"end": 1412,
"name": "ADD",
"source": 3
},
{
"begin": 1386,
"end": 1412,
"name": "SWAP1",
"source": 3
},
{
"begin": 1386,
"end": 1412,
"name": "POP",
"source": 3
},
{
"begin": 1422,
"end": 1493,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 1490,
"end": 1491,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1479,
"end": 1488,
"name": "DUP4",
"source": 3
},
{
"begin": 1475,
"end": 1492,
"name": "ADD",
"source": 3
},
{
"begin": 1466,
"end": 1472,
"name": "DUP7",
"source": 3
},
{
"begin": 1422,
"end": 1493,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 1422,
"end": 1493,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1422,
"end": 1493,
"name": "tag",
"source": 3,
"value": "37"
},
{
"begin": 1422,
"end": 1493,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1503,
"end": 1575,
"name": "PUSH [tag]",
"source": 3,
"value": "38"
},
{
"begin": 1571,
"end": 1573,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1560,
"end": 1569,
"name": "DUP4",
"source": 3
},
{
"begin": 1556,
"end": 1574,
"name": "ADD",
"source": 3
},
{
"begin": 1547,
"end": 1553,
"name": "DUP6",
"source": 3
},
{
"begin": 1503,
"end": 1575,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 1503,
"end": 1575,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1503,
"end": 1575,
"name": "tag",
"source": 3,
"value": "38"
},
{
"begin": 1503,
"end": 1575,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1585,
"end": 1657,
"name": "PUSH [tag]",
"source": 3,
"value": "39"
},
{
"begin": 1653,
"end": 1655,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1642,
"end": 1651,
"name": "DUP4",
"source": 3
},
{
"begin": 1638,
"end": 1656,
"name": "ADD",
"source": 3
},
{
"begin": 1629,
"end": 1635,
"name": "DUP5",
"source": 3
},
{
"begin": 1585,
"end": 1657,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 1585,
"end": 1657,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1585,
"end": 1657,
"name": "tag",
"source": 3,
"value": "39"
},
{
"begin": 1585,
"end": 1657,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "SWAP5",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "SWAP4",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1751,
"end": 1847,
"name": "tag",
"source": 3,
"value": "31"
},
{
"begin": 1751,
"end": 1847,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1788,
"end": 1795,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1817,
"end": 1841,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 1835,
"end": 1840,
"name": "DUP3",
"source": 3
},
{
"begin": 1817,
"end": 1841,
"name": "PUSH [tag]",
"source": 3,
"value": "44"
},
{
"begin": 1817,
"end": 1841,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1817,
"end": 1841,
"name": "tag",
"source": 3,
"value": "43"
},
{
"begin": 1817,
"end": 1841,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1806,
"end": 1841,
"name": "SWAP1",
"source": 3
},
{
"begin": 1806,
"end": 1841,
"name": "POP",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "SWAP2",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "SWAP1",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "POP",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1853,
"end": 1979,
"name": "tag",
"source": 3,
"value": "44"
},
{
"begin": 1853,
"end": 1979,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1890,
"end": 1897,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1930,
"end": 1972,
"name": "PUSH",
"source": 3,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1923,
"end": 1928,
"name": "DUP3",
"source": 3
},
{
"begin": 1919,
"end": 1973,
"name": "AND",
"source": 3
},
{
"begin": 1908,
"end": 1973,
"name": "SWAP1",
"source": 3
},
{
"begin": 1908,
"end": 1973,
"name": "POP",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "SWAP2",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "SWAP1",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "POP",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1985,
"end": 2062,
"name": "tag",
"source": 3,
"value": "35"
},
{
"begin": 1985,
"end": 2062,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2022,
"end": 2029,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2051,
"end": 2056,
"name": "DUP2",
"source": 3
},
{
"begin": 2040,
"end": 2056,
"name": "SWAP1",
"source": 3
},
{
"begin": 2040,
"end": 2056,
"name": "POP",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "SWAP2",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "SWAP1",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "POP",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2191,
"end": 2308,
"name": "tag",
"source": 3,
"value": "24"
},
{
"begin": 2191,
"end": 2308,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2300,
"end": 2301,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2297,
"end": 2298,
"name": "DUP1",
"source": 3
},
{
"begin": 2290,
"end": 2302,
"name": "REVERT",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "tag",
"source": 3,
"value": "16"
},
{
"begin": 2314,
"end": 2436,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2387,
"end": 2411,
"name": "PUSH [tag]",
"source": 3,
"value": "51"
},
{
"begin": 2405,
"end": 2410,
"name": "DUP2",
"source": 3
},
{
"begin": 2387,
"end": 2411,
"name": "PUSH [tag]",
"source": 3,
"value": "31"
},
{
"begin": 2387,
"end": 2411,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2387,
"end": 2411,
"name": "tag",
"source": 3,
"value": "51"
},
{
"begin": 2387,
"end": 2411,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2380,
"end": 2385,
"name": "DUP2",
"source": 3
},
{
"begin": 2377,
"end": 2412,
"name": "EQ",
"source": 3
},
{
"begin": 2367,
"end": 2430,
"name": "PUSH [tag]",
"source": 3,
"value": "52"
},
{
"begin": 2367,
"end": 2430,
"name": "JUMPI",
"source": 3
},
{
"begin": 2426,
"end": 2427,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2423,
"end": 2424,
"name": "DUP1",
"source": 3
},
{
"begin": 2416,
"end": 2428,
"name": "REVERT",
"source": 3
},
{
"begin": 2367,
"end": 2430,
"name": "tag",
"source": 3,
"value": "52"
},
{
"begin": 2367,
"end": 2430,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "POP",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2442,
"end": 2564,
"name": "tag",
"source": 3,
"value": "20"
},
{
"begin": 2442,
"end": 2564,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2515,
"end": 2539,
"name": "PUSH [tag]",
"source": 3,
"value": "54"
},
{
"begin": 2533,
"end": 2538,
"name": "DUP2",
"source": 3
},
{
"begin": 2515,
"end": 2539,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 2515,
"end": 2539,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2515,
"end": 2539,
"name": "tag",
"source": 3,
"value": "54"
},
{
"begin": 2515,
"end": 2539,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2508,
"end": 2513,
"name": "DUP2",
"source": 3
},
{
"begin": 2505,
"end": 2540,
"name": "EQ",
"source": 3
},
{
"begin": 2495,
"end": 2558,
"name": "PUSH [tag]",
"source": 3,
"value": "55"
},
{
"begin": 2495,
"end": 2558,
"name": "JUMPI",
"source": 3
},
{
"begin": 2554,
"end": 2555,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2551,
"end": 2552,
"name": "DUP1",
"source": 3
},
{
"begin": 2544,
"end": 2556,
"name": "REVERT",
"source": 3
},
{
"begin": 2495,
"end": 2558,
"name": "tag",
"source": 3,
"value": "55"
},
{
"begin": 2495,
"end": 2558,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2442,
"end": 2564,
"name": "POP",
"source": 3
},
{
"begin": 2442,
"end": 2564,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "11"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH #[$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "CODECOPY",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "RETURN",
"source": 2
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033",
".code": [
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 114,
"end": 1156,
"name": "MSTORE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "ISZERO",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "REVERT",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "POP",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 114,
"end": 1156,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "LT",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "2"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "E0"
},
{
"begin": 114,
"end": 1156,
"name": "SHR",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "B5C1179B"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "3"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "B6B55F25"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "4"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "E958FF26"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "5"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "2"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "REVERT",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "3"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "6"
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "7"
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "6"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 784,
"end": 824,
"name": "MLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "8"
},
{
"begin": 784,
"end": 824,
"name": "SWAP4",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP3",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP2",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "9"
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "8"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 784,
"end": 824,
"name": "MLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP2",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SUB",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "RETURN",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "4"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "10"
},
{
"begin": 881,
"end": 1151,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 881,
"end": 1151,
"name": "DUP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SUB",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "DUP2",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "ADD",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SWAP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "11"
},
{
"begin": 881,
"end": 1151,
"name": "SWAP2",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SWAP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "12"
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "11"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "13"
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "10"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "STOP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "5"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "14"
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "15"
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "14"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 831,
"end": 872,
"name": "MLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 831,
"end": 872,
"name": "SWAP4",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP3",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP2",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "9"
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "16"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 831,
"end": 872,
"name": "MLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP2",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SUB",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "RETURN",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "7"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 784,
"end": 824,
"name": "EXP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DIV",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 784,
"end": 824,
"name": "AND",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 784,
"end": 824,
"name": "EXP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DIV",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 784,
"end": 824,
"name": "AND",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "POP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP4",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "13"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 955,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP1",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "60"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP1",
"source": 2
},
{
"begin": 996,
"end": 1006,
"name": "CALLER",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 955,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1040,
"end": 1056,
"name": "DUP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SLOAD",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SWAP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 1040,
"end": 1056,
"name": "EXP",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SWAP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "DIV",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1040,
"end": 1056,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 955,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 1080,
"end": 1087,
"name": "DUP3",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 952,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 937,
"end": 1099,
"name": "EXP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "NOT",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP4",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "OR",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 937,
"end": 1099,
"name": "EXP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "NOT",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP4",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "OR",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "E1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C"
},
{
"begin": 1123,
"end": 1133,
"name": "CALLER",
"source": 2
},
{
"begin": 1135,
"end": 1142,
"name": "DUP3",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1115,
"end": 1143,
"name": "MLOAD",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH [tag]",
"source": 2,
"value": "18"
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP3",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP2",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH [tag]",
"source": 2,
"value": "19"
},
{
"begin": 1115,
"end": 1143,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1115,
"end": 1143,
"name": "tag",
"source": 2,
"value": "18"
},
{
"begin": 1115,
"end": 1143,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1115,
"end": 1143,
"name": "MLOAD",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "DUP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP2",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SUB",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "LOG1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "POP",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "15"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 831,
"end": 872,
"name": "EXP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DIV",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 831,
"end": 872,
"name": "AND",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 831,
"end": 872,
"name": "EXP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DIV",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 831,
"end": 872,
"name": "AND",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "POP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP4",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 3,
"value": "21"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 53,
"end": 58,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 3
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "23"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "24"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 3,
"value": "23"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP3",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP2",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 152,
"end": 481,
"name": "tag",
"source": 3,
"value": "12"
},
{
"begin": 152,
"end": 481,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 211,
"end": 217,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 260,
"end": 262,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 248,
"end": 257,
"name": "DUP3",
"source": 3
},
{
"begin": 239,
"end": 246,
"name": "DUP5",
"source": 3
},
{
"begin": 235,
"end": 258,
"name": "SUB",
"source": 3
},
{
"begin": 231,
"end": 263,
"name": "SLT",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "ISZERO",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "PUSH [tag]",
"source": 3,
"value": "26"
},
{
"begin": 228,
"end": 347,
"name": "JUMPI",
"source": 3
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 3,
"value": "27"
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 266,
"end": 345,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 266,
"end": 345,
"name": "tag",
"source": 3,
"value": "27"
},
{
"begin": 266,
"end": 345,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "tag",
"source": 3,
"value": "26"
},
{
"begin": 228,
"end": 347,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 386,
"end": 387,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 3,
"value": "29"
},
{
"begin": 456,
"end": 463,
"name": "DUP5",
"source": 3
},
{
"begin": 447,
"end": 453,
"name": "DUP3",
"source": 3
},
{
"begin": 436,
"end": 445,
"name": "DUP6",
"source": 3
},
{
"begin": 432,
"end": 454,
"name": "ADD",
"source": 3
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 3,
"value": "21"
},
{
"begin": 411,
"end": 464,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 411,
"end": 464,
"name": "tag",
"source": 3,
"value": "29"
},
{
"begin": 411,
"end": 464,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 401,
"end": 464,
"name": "SWAP2",
"source": 3
},
{
"begin": 401,
"end": 464,
"name": "POP",
"source": 3
},
{
"begin": 357,
"end": 474,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "SWAP3",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "SWAP2",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 487,
"end": 605,
"name": "tag",
"source": 3,
"value": "30"
},
{
"begin": 487,
"end": 605,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 592,
"end": 597,
"name": "DUP2",
"source": 3
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 3,
"value": "33"
},
{
"begin": 574,
"end": 598,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 574,
"end": 598,
"name": "tag",
"source": 3,
"value": "32"
},
{
"begin": 574,
"end": 598,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 569,
"end": 572,
"name": "DUP3",
"source": 3
},
{
"begin": 562,
"end": 599,
"name": "MSTORE",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 611,
"end": 729,
"name": "tag",
"source": 3,
"value": "34"
},
{
"begin": 611,
"end": 729,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 698,
"end": 722,
"name": "PUSH [tag]",
"source": 3,
"value": "36"
},
{
"begin": 716,
"end": 721,
"name": "DUP2",
"source": 3
},
{
"begin": 698,
"end": 722,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 698,
"end": 722,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 698,
"end": 722,
"name": "tag",
"source": 3,
"value": "36"
},
{
"begin": 698,
"end": 722,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 693,
"end": 696,
"name": "DUP3",
"source": 3
},
{
"begin": 686,
"end": 723,
"name": "MSTORE",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "POP",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "POP",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 735,
"end": 1177,
"name": "tag",
"source": 3,
"value": "9"
},
{
"begin": 735,
"end": 1177,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 884,
"end": 888,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 922,
"end": 924,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 911,
"end": 920,
"name": "DUP3",
"source": 3
},
{
"begin": 907,
"end": 925,
"name": "ADD",
"source": 3
},
{
"begin": 899,
"end": 925,
"name": "SWAP1",
"source": 3
},
{
"begin": 899,
"end": 925,
"name": "POP",
"source": 3
},
{
"begin": 935,
"end": 1006,
"name": "PUSH [tag]",
"source": 3,
"value": "39"
},
{
"begin": 1003,
"end": 1004,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 992,
"end": 1001,
"name": "DUP4",
"source": 3
},
{
"begin": 988,
"end": 1005,
"name": "ADD",
"source": 3
},
{
"begin": 979,
"end": 985,
"name": "DUP7",
"source": 3
},
{
"begin": 935,
"end": 1006,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 935,
"end": 1006,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 935,
"end": 1006,
"name": "tag",
"source": 3,
"value": "39"
},
{
"begin": 935,
"end": 1006,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1016,
"end": 1088,
"name": "PUSH [tag]",
"source": 3,
"value": "40"
},
{
"begin": 1084,
"end": 1086,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1073,
"end": 1082,
"name": "DUP4",
"source": 3
},
{
"begin": 1069,
"end": 1087,
"name": "ADD",
"source": 3
},
{
"begin": 1060,
"end": 1066,
"name": "DUP6",
"source": 3
},
{
"begin": 1016,
"end": 1088,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1016,
"end": 1088,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1016,
"end": 1088,
"name": "tag",
"source": 3,
"value": "40"
},
{
"begin": 1016,
"end": 1088,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1098,
"end": 1170,
"name": "PUSH [tag]",
"source": 3,
"value": "41"
},
{
"begin": 1166,
"end": 1168,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1155,
"end": 1164,
"name": "DUP4",
"source": 3
},
{
"begin": 1151,
"end": 1169,
"name": "ADD",
"source": 3
},
{
"begin": 1142,
"end": 1148,
"name": "DUP5",
"source": 3
},
{
"begin": 1098,
"end": 1170,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1098,
"end": 1170,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1098,
"end": 1170,
"name": "tag",
"source": 3,
"value": "41"
},
{
"begin": 1098,
"end": 1170,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "SWAP5",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "SWAP4",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1183,
"end": 1515,
"name": "tag",
"source": 3,
"value": "19"
},
{
"begin": 1183,
"end": 1515,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1304,
"end": 1308,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1342,
"end": 1344,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1331,
"end": 1340,
"name": "DUP3",
"source": 3
},
{
"begin": 1327,
"end": 1345,
"name": "ADD",
"source": 3
},
{
"begin": 1319,
"end": 1345,
"name": "SWAP1",
"source": 3
},
{
"begin": 1319,
"end": 1345,
"name": "POP",
"source": 3
},
{
"begin": 1355,
"end": 1426,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 1423,
"end": 1424,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1412,
"end": 1421,
"name": "DUP4",
"source": 3
},
{
"begin": 1408,
"end": 1425,
"name": "ADD",
"source": 3
},
{
"begin": 1399,
"end": 1405,
"name": "DUP6",
"source": 3
},
{
"begin": 1355,
"end": 1426,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1355,
"end": 1426,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1355,
"end": 1426,
"name": "tag",
"source": 3,
"value": "43"
},
{
"begin": 1355,
"end": 1426,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1436,
"end": 1508,
"name": "PUSH [tag]",
"source": 3,
"value": "44"
},
{
"begin": 1504,
"end": 1506,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1493,
"end": 1502,
"name": "DUP4",
"source": 3
},
{
"begin": 1489,
"end": 1507,
"name": "ADD",
"source": 3
},
{
"begin": 1480,
"end": 1486,
"name": "DUP5",
"source": 3
},
{
"begin": 1436,
"end": 1508,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1436,
"end": 1508,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1436,
"end": 1508,
"name": "tag",
"source": 3,
"value": "44"
},
{
"begin": 1436,
"end": 1508,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "SWAP4",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "SWAP3",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1602,
"end": 1698,
"name": "tag",
"source": 3,
"value": "33"
},
{
"begin": 1602,
"end": 1698,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1639,
"end": 1646,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1668,
"end": 1692,
"name": "PUSH [tag]",
"source": 3,
"value": "48"
},
{
"begin": 1686,
"end": 1691,
"name": "DUP3",
"source": 3
},
{
"begin": 1668,
"end": 1692,
"name": "PUSH [tag]",
"source": 3,
"value": "49"
},
{
"begin": 1668,
"end": 1692,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1668,
"end": 1692,
"name": "tag",
"source": 3,
"value": "48"
},
{
"begin": 1668,
"end": 1692,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1657,
"end": 1692,
"name": "SWAP1",
"source": 3
},
{
"begin": 1657,
"end": 1692,
"name": "POP",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "SWAP2",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "SWAP1",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "POP",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1704,
"end": 1830,
"name": "tag",
"source": 3,
"value": "49"
},
{
"begin": 1704,
"end": 1830,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1741,
"end": 1748,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1781,
"end": 1823,
"name": "PUSH",
"source": 3,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1774,
"end": 1779,
"name": "DUP3",
"source": 3
},
{
"begin": 1770,
"end": 1824,
"name": "AND",
"source": 3
},
{
"begin": 1759,
"end": 1824,
"name": "SWAP1",
"source": 3
},
{
"begin": 1759,
"end": 1824,
"name": "POP",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "SWAP2",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "SWAP1",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "POP",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1836,
"end": 1913,
"name": "tag",
"source": 3,
"value": "37"
},
{
"begin": 1836,
"end": 1913,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1873,
"end": 1880,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1902,
"end": 1907,
"name": "DUP2",
"source": 3
},
{
"begin": 1891,
"end": 1907,
"name": "SWAP1",
"source": 3
},
{
"begin": 1891,
"end": 1907,
"name": "POP",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "SWAP2",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "SWAP1",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "POP",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2042,
"end": 2159,
"name": "tag",
"source": 3,
"value": "28"
},
{
"begin": 2042,
"end": 2159,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2151,
"end": 2152,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2148,
"end": 2149,
"name": "DUP1",
"source": 3
},
{
"begin": 2141,
"end": 2153,
"name": "REVERT",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "tag",
"source": 3,
"value": "24"
},
{
"begin": 2165,
"end": 2287,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2238,
"end": 2262,
"name": "PUSH [tag]",
"source": 3,
"value": "56"
},
{
"begin": 2256,
"end": 2261,
"name": "DUP2",
"source": 3
},
{
"begin": 2238,
"end": 2262,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 2238,
"end": 2262,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2238,
"end": 2262,
"name": "tag",
"source": 3,
"value": "56"
},
{
"begin": 2238,
"end": 2262,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2231,
"end": 2236,
"name": "DUP2",
"source": 3
},
{
"begin": 2228,
"end": 2263,
"name": "EQ",
"source": 3
},
{
"begin": 2218,
"end": 2281,
"name": "PUSH [tag]",
"source": 3,
"value": "57"
},
{
"begin": 2218,
"end": 2281,
"name": "JUMPI",
"source": 3
},
{
"begin": 2277,
"end": 2278,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2274,
"end": 2275,
"name": "DUP1",
"source": 3
},
{
"begin": 2267,
"end": 2279,
"name": "REVERT",
"source": 3
},
{
"begin": 2218,
"end": 2281,
"name": "tag",
"source": 3,
"value": "57"
},
{
"begin": 2218,
"end": 2281,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "POP",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "JUMP",
"source": 3,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"collectionFrom()": "b5c1179b",
"collectionWhant()": "e958ff26",
"deposit(uint256)": "b6b55f25"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"collectionTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenIdCollectionFrom\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"collectionFrom\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"collectionAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectionWhant\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"collectionAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FactoryCollection.sol\":\"BargainErc721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/FactoryCollection.sol\":{\"keccak256\":\"0xf9026285fa806936e5a8401e76c6a7c44eb70314cf2ff08880136a3d7146dfb2\",\"urls\":[\"bzz-raw://d5086e4ab7b96c1c7f02b0ed51c1cc900e841420206a4cfc0fb4429e95765751\",\"dweb:/ipfs/QmdsedEnvDHBmV4qaNU6mfD298mtrn5gUZzTk9yY9fW6ic\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 182,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "collectionTarget",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 185,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "collectionFrom",
"offset": 0,
"slot": "1",
"type": "t_struct(CollectionAndOwner)180_storage"
},
{
"astId": 188,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "collectionWhant",
"offset": 0,
"slot": "4",
"type": "t_struct(CollectionAndOwner)180_storage"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_struct(CollectionAndOwner)180_storage": {
"encoding": "inplace",
"label": "struct BargainErc721.CollectionAndOwner",
"members": [
{
"astId": 175,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "owner",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 177,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "collectionAddress",
"offset": 0,
"slot": "1",
"type": "t_address"
},
{
"astId": 179,
"contract": "contracts/FactoryCollection.sol:BargainErc721",
"label": "tokenId",
"offset": 0,
"slot": "2",
"type": "t_uint256"
}
],
"numberOfBytes": "96"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"FactoryCollection": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract BargainErc721",
"name": "pool",
"type": "address"
}
],
"name": "Create",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "collection",
"type": "address"
},
{
"internalType": "address",
"name": "collectionTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenIdCollection",
"type": "uint256"
}
],
"name": "createBargain",
"outputs": [
{
"internalType": "contract BargainErc721",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/FactoryCollection.sol\":1162:1562 contract FactoryCollection {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/FactoryCollection.sol\":1162:1562 contract FactoryCollection {\r... */\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 0x2fd3f5ea\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/FactoryCollection.sol\":1247:1549 function createBargain(address collection, address collectionTo, uint256 tokenIdCollection) public returns(BargainErc721) {\r... */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n mload(0x40)\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_7:\n /* \"contracts/FactoryCollection.sol\":1354:1367 BargainErc721 */\n 0x00\n /* \"contracts/FactoryCollection.sol\":1380:1407 BargainErc721 bargainErc721 */\n dup1\n /* \"contracts/FactoryCollection.sol\":1429:1439 collection */\n dup5\n /* \"contracts/FactoryCollection.sol\":1441:1453 collectionTo */\n dup5\n /* \"contracts/FactoryCollection.sol\":1455:1472 tokenIdCollection */\n dup5\n /* \"contracts/FactoryCollection.sol\":1411:1473 new BargainErc721(collection, collectionTo, tokenIdCollection) */\n mload(0x40)\n tag_11\n swap1\n tag_12\n jump\t// in\n tag_11:\n tag_13\n swap4\n swap3\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n 0x00\n create\n dup1\n iszero\n dup1\n iszero\n tag_15\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_15:\n pop\n /* \"contracts/FactoryCollection.sol\":1380:1473 BargainErc721 bargainErc721 = new BargainErc721(collection, collectionTo, tokenIdCollection) */\n swap1\n pop\n /* \"contracts/FactoryCollection.sol\":1496:1509 bargainErc721 */\n dup1\n /* \"contracts/FactoryCollection.sol\":1489:1510 Create(bargainErc721) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xe3758539c1bd6726422843471b2886c2d2cefd3b4aead6778386283e20a32a80\n mload(0x40)\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contracts/FactoryCollection.sol\":1528:1541 bargainErc721 */\n dup1\n /* \"contracts/FactoryCollection.sol\":1521:1541 return bargainErc721 */\n swap2\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":1247:1549 function createBargain(address collection, address collectionTo, uint256 tokenIdCollection) public returns(BargainErc721) {\r... */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n tag_12:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n dup4\n codecopy\n add\n swap1\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_17:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_19\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_20\n jump\t// in\n tag_19:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:291 */\n tag_21:\n /* \"#utility.yul\":198:203 */\n 0x00\n /* \"#utility.yul\":236:242 */\n dup2\n /* \"#utility.yul\":223:243 */\n calldataload\n /* \"#utility.yul\":214:243 */\n swap1\n pop\n /* \"#utility.yul\":252:285 */\n tag_23\n /* \"#utility.yul\":279:284 */\n dup2\n /* \"#utility.yul\":252:285 */\n tag_24\n jump\t// in\n tag_23:\n /* \"#utility.yul\":152:291 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":297:916 */\n tag_6:\n /* \"#utility.yul\":374:380 */\n 0x00\n /* \"#utility.yul\":382:388 */\n dup1\n /* \"#utility.yul\":390:396 */\n 0x00\n /* \"#utility.yul\":439:441 */\n 0x60\n /* \"#utility.yul\":427:436 */\n dup5\n /* \"#utility.yul\":418:425 */\n dup7\n /* \"#utility.yul\":414:437 */\n sub\n /* \"#utility.yul\":410:442 */\n slt\n /* \"#utility.yul\":407:526 */\n iszero\n tag_26\n jumpi\n /* \"#utility.yul\":445:524 */\n tag_27\n tag_28\n jump\t// in\n tag_27:\n /* \"#utility.yul\":407:526 */\n tag_26:\n /* \"#utility.yul\":565:566 */\n 0x00\n /* \"#utility.yul\":590:643 */\n tag_29\n /* \"#utility.yul\":635:642 */\n dup7\n /* \"#utility.yul\":626:632 */\n dup3\n /* \"#utility.yul\":615:624 */\n dup8\n /* \"#utility.yul\":611:633 */\n add\n /* \"#utility.yul\":590:643 */\n tag_17\n jump\t// in\n tag_29:\n /* \"#utility.yul\":580:643 */\n swap4\n pop\n /* \"#utility.yul\":536:653 */\n pop\n /* \"#utility.yul\":692:694 */\n 0x20\n /* \"#utility.yul\":718:771 */\n tag_30\n /* \"#utility.yul\":763:770 */\n dup7\n /* \"#utility.yul\":754:760 */\n dup3\n /* \"#utility.yul\":743:752 */\n dup8\n /* \"#utility.yul\":739:761 */\n add\n /* \"#utility.yul\":718:771 */\n tag_17\n jump\t// in\n tag_30:\n /* \"#utility.yul\":708:771 */\n swap3\n pop\n /* \"#utility.yul\":663:781 */\n pop\n /* \"#utility.yul\":820:822 */\n 0x40\n /* \"#utility.yul\":846:899 */\n tag_31\n /* \"#utility.yul\":891:898 */\n dup7\n /* \"#utility.yul\":882:888 */\n dup3\n /* \"#utility.yul\":871:880 */\n dup8\n /* \"#utility.yul\":867:889 */\n add\n /* \"#utility.yul\":846:899 */\n tag_21\n jump\t// in\n tag_31:\n /* \"#utility.yul\":836:899 */\n swap2\n pop\n /* \"#utility.yul\":791:909 */\n pop\n /* \"#utility.yul\":297:916 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":922:1040 */\n tag_32:\n /* \"#utility.yul\":1009:1033 */\n tag_34\n /* \"#utility.yul\":1027:1032 */\n dup2\n /* \"#utility.yul\":1009:1033 */\n tag_35\n jump\t// in\n tag_34:\n /* \"#utility.yul\":1004:1007 */\n dup3\n /* \"#utility.yul\":997:1034 */\n mstore\n /* \"#utility.yul\":922:1040 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1046:1219 */\n tag_36:\n /* \"#utility.yul\":1154:1212 */\n tag_38\n /* \"#utility.yul\":1206:1211 */\n dup2\n /* \"#utility.yul\":1154:1212 */\n tag_39\n jump\t// in\n tag_38:\n /* \"#utility.yul\":1149:1152 */\n dup3\n /* \"#utility.yul\":1142:1213 */\n mstore\n /* \"#utility.yul\":1046:1219 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1225:1343 */\n tag_40:\n /* \"#utility.yul\":1312:1336 */\n tag_42\n /* \"#utility.yul\":1330:1335 */\n dup2\n /* \"#utility.yul\":1312:1336 */\n tag_43\n jump\t// in\n tag_42:\n /* \"#utility.yul\":1307:1310 */\n dup3\n /* \"#utility.yul\":1300:1337 */\n mstore\n /* \"#utility.yul\":1225:1343 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1349:1791 */\n tag_14:\n /* \"#utility.yul\":1498:1502 */\n 0x00\n /* \"#utility.yul\":1536:1538 */\n 0x60\n /* \"#utility.yul\":1525:1534 */\n dup3\n /* \"#utility.yul\":1521:1539 */\n add\n /* \"#utility.yul\":1513:1539 */\n swap1\n pop\n /* \"#utility.yul\":1549:1620 */\n tag_45\n /* \"#utility.yul\":1617:1618 */\n 0x00\n /* \"#utility.yul\":1606:1615 */\n dup4\n /* \"#utility.yul\":1602:1619 */\n add\n /* \"#utility.yul\":1593:1599 */\n dup7\n /* \"#utility.yul\":1549:1620 */\n tag_32\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1630:1702 */\n tag_46\n /* \"#utility.yul\":1698:1700 */\n 0x20\n /* \"#utility.yul\":1687:1696 */\n dup4\n /* \"#utility.yul\":1683:1701 */\n add\n /* \"#utility.yul\":1674:1680 */\n dup6\n /* \"#utility.yul\":1630:1702 */\n tag_32\n jump\t// in\n tag_46:\n /* \"#utility.yul\":1712:1784 */\n tag_47\n /* \"#utility.yul\":1780:1782 */\n 0x40\n /* \"#utility.yul\":1769:1778 */\n dup4\n /* \"#utility.yul\":1765:1783 */\n add\n /* \"#utility.yul\":1756:1762 */\n dup5\n /* \"#utility.yul\":1712:1784 */\n tag_40\n jump\t// in\n tag_47:\n /* \"#utility.yul\":1349:1791 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1797:2061 */\n tag_9:\n /* \"#utility.yul\":1911:1915 */\n 0x00\n /* \"#utility.yul\":1949:1951 */\n 0x20\n /* \"#utility.yul\":1938:1947 */\n dup3\n /* \"#utility.yul\":1934:1952 */\n add\n /* \"#utility.yul\":1926:1952 */\n swap1\n pop\n /* \"#utility.yul\":1962:2054 */\n tag_49\n /* \"#utility.yul\":2051:2052 */\n 0x00\n /* \"#utility.yul\":2040:2049 */\n dup4\n /* \"#utility.yul\":2036:2053 */\n add\n /* \"#utility.yul\":2027:2033 */\n dup5\n /* \"#utility.yul\":1962:2054 */\n tag_36\n jump\t// in\n tag_49:\n /* \"#utility.yul\":1797:2061 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2148:2244 */\n tag_35:\n /* \"#utility.yul\":2185:2192 */\n 0x00\n /* \"#utility.yul\":2214:2238 */\n tag_53\n /* \"#utility.yul\":2232:2237 */\n dup3\n /* \"#utility.yul\":2214:2238 */\n tag_54\n jump\t// in\n tag_53:\n /* \"#utility.yul\":2203:2238 */\n swap1\n pop\n /* \"#utility.yul\":2148:2244 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2250:2376 */\n tag_54:\n /* \"#utility.yul\":2287:2294 */\n 0x00\n /* \"#utility.yul\":2327:2369 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":2320:2325 */\n dup3\n /* \"#utility.yul\":2316:2370 */\n and\n /* \"#utility.yul\":2305:2370 */\n swap1\n pop\n /* \"#utility.yul\":2250:2376 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2382:2459 */\n tag_43:\n /* \"#utility.yul\":2419:2426 */\n 0x00\n /* \"#utility.yul\":2448:2453 */\n dup2\n /* \"#utility.yul\":2437:2453 */\n swap1\n pop\n /* \"#utility.yul\":2382:2459 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2465:2612 */\n tag_39:\n /* \"#utility.yul\":2536:2545 */\n 0x00\n /* \"#utility.yul\":2569:2606 */\n tag_58\n /* \"#utility.yul\":2600:2605 */\n dup3\n /* \"#utility.yul\":2569:2606 */\n tag_59\n jump\t// in\n tag_58:\n /* \"#utility.yul\":2556:2606 */\n swap1\n pop\n /* \"#utility.yul\":2465:2612 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2618:2744 */\n tag_59:\n /* \"#utility.yul\":2668:2677 */\n 0x00\n /* \"#utility.yul\":2701:2738 */\n tag_61\n /* \"#utility.yul\":2732:2737 */\n dup3\n /* \"#utility.yul\":2701:2738 */\n tag_62\n jump\t// in\n tag_61:\n /* \"#utility.yul\":2688:2738 */\n swap1\n pop\n /* \"#utility.yul\":2618:2744 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2750:2863 */\n tag_62:\n /* \"#utility.yul\":2800:2809 */\n 0x00\n /* \"#utility.yul\":2833:2857 */\n tag_64\n /* \"#utility.yul\":2851:2856 */\n dup3\n /* \"#utility.yul\":2833:2857 */\n tag_54\n jump\t// in\n tag_64:\n /* \"#utility.yul\":2820:2857 */\n swap1\n pop\n /* \"#utility.yul\":2750:2863 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2992:3109 */\n tag_28:\n /* \"#utility.yul\":3101:3102 */\n 0x00\n /* \"#utility.yul\":3098:3099 */\n dup1\n /* \"#utility.yul\":3091:3103 */\n revert\n /* \"#utility.yul\":3115:3237 */\n tag_20:\n /* \"#utility.yul\":3188:3212 */\n tag_69\n /* \"#utility.yul\":3206:3211 */\n dup2\n /* \"#utility.yul\":3188:3212 */\n tag_35\n jump\t// in\n tag_69:\n /* \"#utility.yul\":3181:3186 */\n dup2\n /* \"#utility.yul\":3178:3213 */\n eq\n /* \"#utility.yul\":3168:3231 */\n tag_70\n jumpi\n /* \"#utility.yul\":3227:3228 */\n 0x00\n /* \"#utility.yul\":3224:3225 */\n dup1\n /* \"#utility.yul\":3217:3229 */\n revert\n /* \"#utility.yul\":3168:3231 */\n tag_70:\n /* \"#utility.yul\":3115:3237 */\n pop\n jump\t// out\n /* \"#utility.yul\":3243:3365 */\n tag_24:\n /* \"#utility.yul\":3316:3340 */\n tag_72\n /* \"#utility.yul\":3334:3339 */\n dup2\n /* \"#utility.yul\":3316:3340 */\n tag_43\n jump\t// in\n tag_72:\n /* \"#utility.yul\":3309:3314 */\n dup2\n /* \"#utility.yul\":3306:3341 */\n eq\n /* \"#utility.yul\":3296:3359 */\n tag_73\n jumpi\n /* \"#utility.yul\":3355:3356 */\n 0x00\n /* \"#utility.yul\":3352:3353 */\n dup1\n /* \"#utility.yul\":3345:3357 */\n revert\n /* \"#utility.yul\":3296:3359 */\n tag_73:\n /* \"#utility.yul\":3243:3365 */\n pop\n jump\t// out\n stop\n\n sub_0: assembly {\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\n mstore(0x40, 0x80)\n /* \"contracts/FactoryCollection.sol\":202:615 constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){\r... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_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\n tag_2:\n /* \"contracts/FactoryCollection.sol\":318:330 collectionTo */\n dup2\n /* \"contracts/FactoryCollection.sol\":299:315 collectionTarget */\n 0x00\n dup1\n /* \"contracts/FactoryCollection.sol\":299:330 collectionTarget = collectionTo */\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/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/FactoryCollection.sol\":399:409 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":443:453 collection */\n dup5\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":477:498 tokenIdCollectionFrom */\n dup3\n /* \"contracts/FactoryCollection.sol\":358:510 CollectionAndOwner({\r... */\n dup2\n mstore\n pop\n /* \"contracts/FactoryCollection.sol\":341:355 collectionFrom */\n 0x01\n /* \"contracts/FactoryCollection.sol\":341:510 collectionFrom = CollectionAndOwner({\r... */\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n sstore\n swap1\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":529:539 collection */\n dup3\n /* \"contracts/FactoryCollection.sol\":521:557 IERC721(collection).safeTransferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x42842e0e\n /* \"contracts/FactoryCollection.sol\":558:568 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":578:582 this */\n address\n /* \"contracts/FactoryCollection.sol\":585:606 tokenIdCollectionFrom */\n dup5\n /* \"contracts/FactoryCollection.sol\":521:607 IERC721(collection).safeTransferFrom(msg.sender, address(this), tokenIdCollectionFrom) */\n mload(0x40)\n dup5\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_6\n swap4\n swap3\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_8\n jumpi\n 0x00\n dup1\n revert\n tag_8:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_10\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_10:\n pop\n pop\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":202:615 constructor(address collection, address collectionTo, uint256 tokenIdCollectionFrom){\r... */\n pop\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\n jump(tag_11)\n /* \"#utility.yul\":7:150 */\n tag_13:\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_15\n /* \"#utility.yul\":138:143 */\n dup2\n /* \"#utility.yul\":111:144 */\n tag_16\n jump\t// in\n tag_15:\n /* \"#utility.yul\":7:150 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":156:299 */\n tag_17:\n /* \"#utility.yul\":213:218 */\n 0x00\n /* \"#utility.yul\":244:250 */\n dup2\n /* \"#utility.yul\":238:251 */\n mload\n /* \"#utility.yul\":229:251 */\n swap1\n pop\n /* \"#utility.yul\":260:293 */\n tag_19\n /* \"#utility.yul\":287:292 */\n dup2\n /* \"#utility.yul\":260:293 */\n tag_20\n jump\t// in\n tag_19:\n /* \"#utility.yul\":156:299 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":305:968 */\n tag_3:\n /* \"#utility.yul\":393:399 */\n 0x00\n /* \"#utility.yul\":401:407 */\n dup1\n /* \"#utility.yul\":409:415 */\n 0x00\n /* \"#utility.yul\":458:460 */\n 0x60\n /* \"#utility.yul\":446:455 */\n dup5\n /* \"#utility.yul\":437:444 */\n dup7\n /* \"#utility.yul\":433:456 */\n sub\n /* \"#utility.yul\":429:461 */\n slt\n /* \"#utility.yul\":426:545 */\n iszero\n tag_22\n jumpi\n /* \"#utility.yul\":464:543 */\n tag_23\n tag_24\n jump\t// in\n tag_23:\n /* \"#utility.yul\":426:545 */\n tag_22:\n /* \"#utility.yul\":584:585 */\n 0x00\n /* \"#utility.yul\":609:673 */\n tag_25\n /* \"#utility.yul\":665:672 */\n dup7\n /* \"#utility.yul\":656:662 */\n dup3\n /* \"#utility.yul\":645:654 */\n dup8\n /* \"#utility.yul\":641:663 */\n add\n /* \"#utility.yul\":609:673 */\n tag_13\n jump\t// in\n tag_25:\n /* \"#utility.yul\":599:673 */\n swap4\n pop\n /* \"#utility.yul\":555:683 */\n pop\n /* \"#utility.yul\":722:724 */\n 0x20\n /* \"#utility.yul\":748:812 */\n tag_26\n /* \"#utility.yul\":804:811 */\n dup7\n /* \"#utility.yul\":795:801 */\n dup3\n /* \"#utility.yul\":784:793 */\n dup8\n /* \"#utility.yul\":780:802 */\n add\n /* \"#utility.yul\":748:812 */\n tag_13\n jump\t// in\n tag_26:\n /* \"#utility.yul\":738:812 */\n swap3\n pop\n /* \"#utility.yul\":693:822 */\n pop\n /* \"#utility.yul\":861:863 */\n 0x40\n /* \"#utility.yul\":887:951 */\n tag_27\n /* \"#utility.yul\":943:950 */\n dup7\n /* \"#utility.yul\":934:940 */\n dup3\n /* \"#utility.yul\":923:932 */\n dup8\n /* \"#utility.yul\":919:941 */\n add\n /* \"#utility.yul\":887:951 */\n tag_17\n jump\t// in\n tag_27:\n /* \"#utility.yul\":877:951 */\n swap2\n pop\n /* \"#utility.yul\":832:961 */\n pop\n /* \"#utility.yul\":305:968 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":974:1092 */\n tag_28:\n /* \"#utility.yul\":1061:1085 */\n tag_30\n /* \"#utility.yul\":1079:1084 */\n dup2\n /* \"#utility.yul\":1061:1085 */\n tag_31\n jump\t// in\n tag_30:\n /* \"#utility.yul\":1056:1059 */\n dup3\n /* \"#utility.yul\":1049:1086 */\n mstore\n /* \"#utility.yul\":974:1092 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1098:1216 */\n tag_32:\n /* \"#utility.yul\":1185:1209 */\n tag_34\n /* \"#utility.yul\":1203:1208 */\n dup2\n /* \"#utility.yul\":1185:1209 */\n tag_35\n jump\t// in\n tag_34:\n /* \"#utility.yul\":1180:1183 */\n dup3\n /* \"#utility.yul\":1173:1210 */\n mstore\n /* \"#utility.yul\":1098:1216 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1222:1664 */\n tag_7:\n /* \"#utility.yul\":1371:1375 */\n 0x00\n /* \"#utility.yul\":1409:1411 */\n 0x60\n /* \"#utility.yul\":1398:1407 */\n dup3\n /* \"#utility.yul\":1394:1412 */\n add\n /* \"#utility.yul\":1386:1412 */\n swap1\n pop\n /* \"#utility.yul\":1422:1493 */\n tag_37\n /* \"#utility.yul\":1490:1491 */\n 0x00\n /* \"#utility.yul\":1479:1488 */\n dup4\n /* \"#utility.yul\":1475:1492 */\n add\n /* \"#utility.yul\":1466:1472 */\n dup7\n /* \"#utility.yul\":1422:1493 */\n tag_28\n jump\t// in\n tag_37:\n /* \"#utility.yul\":1503:1575 */\n tag_38\n /* \"#utility.yul\":1571:1573 */\n 0x20\n /* \"#utility.yul\":1560:1569 */\n dup4\n /* \"#utility.yul\":1556:1574 */\n add\n /* \"#utility.yul\":1547:1553 */\n dup6\n /* \"#utility.yul\":1503:1575 */\n tag_28\n jump\t// in\n tag_38:\n /* \"#utility.yul\":1585:1657 */\n tag_39\n /* \"#utility.yul\":1653:1655 */\n 0x40\n /* \"#utility.yul\":1642:1651 */\n dup4\n /* \"#utility.yul\":1638:1656 */\n add\n /* \"#utility.yul\":1629:1635 */\n dup5\n /* \"#utility.yul\":1585:1657 */\n tag_32\n jump\t// in\n tag_39:\n /* \"#utility.yul\":1222:1664 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1751:1847 */\n tag_31:\n /* \"#utility.yul\":1788:1795 */\n 0x00\n /* \"#utility.yul\":1817:1841 */\n tag_43\n /* \"#utility.yul\":1835:1840 */\n dup3\n /* \"#utility.yul\":1817:1841 */\n tag_44\n jump\t// in\n tag_43:\n /* \"#utility.yul\":1806:1841 */\n swap1\n pop\n /* \"#utility.yul\":1751:1847 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1853:1979 */\n tag_44:\n /* \"#utility.yul\":1890:1897 */\n 0x00\n /* \"#utility.yul\":1930:1972 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1923:1928 */\n dup3\n /* \"#utility.yul\":1919:1973 */\n and\n /* \"#utility.yul\":1908:1973 */\n swap1\n pop\n /* \"#utility.yul\":1853:1979 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1985:2062 */\n tag_35:\n /* \"#utility.yul\":2022:2029 */\n 0x00\n /* \"#utility.yul\":2051:2056 */\n dup2\n /* \"#utility.yul\":2040:2056 */\n swap1\n pop\n /* \"#utility.yul\":1985:2062 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2191:2308 */\n tag_24:\n /* \"#utility.yul\":2300:2301 */\n 0x00\n /* \"#utility.yul\":2297:2298 */\n dup1\n /* \"#utility.yul\":2290:2302 */\n revert\n /* \"#utility.yul\":2314:2436 */\n tag_16:\n /* \"#utility.yul\":2387:2411 */\n tag_51\n /* \"#utility.yul\":2405:2410 */\n dup2\n /* \"#utility.yul\":2387:2411 */\n tag_31\n jump\t// in\n tag_51:\n /* \"#utility.yul\":2380:2385 */\n dup2\n /* \"#utility.yul\":2377:2412 */\n eq\n /* \"#utility.yul\":2367:2430 */\n tag_52\n jumpi\n /* \"#utility.yul\":2426:2427 */\n 0x00\n /* \"#utility.yul\":2423:2424 */\n dup1\n /* \"#utility.yul\":2416:2428 */\n revert\n /* \"#utility.yul\":2367:2430 */\n tag_52:\n /* \"#utility.yul\":2314:2436 */\n pop\n jump\t// out\n /* \"#utility.yul\":2442:2564 */\n tag_20:\n /* \"#utility.yul\":2515:2539 */\n tag_54\n /* \"#utility.yul\":2533:2538 */\n dup2\n /* \"#utility.yul\":2515:2539 */\n tag_35\n jump\t// in\n tag_54:\n /* \"#utility.yul\":2508:2513 */\n dup2\n /* \"#utility.yul\":2505:2540 */\n eq\n /* \"#utility.yul\":2495:2558 */\n tag_55\n jumpi\n /* \"#utility.yul\":2554:2555 */\n 0x00\n /* \"#utility.yul\":2551:2552 */\n dup1\n /* \"#utility.yul\":2544:2556 */\n revert\n /* \"#utility.yul\":2495:2558 */\n tag_55:\n /* \"#utility.yul\":2442:2564 */\n pop\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\n tag_11:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\n stop\n\n sub_0: assembly {\n /* \"contracts/FactoryCollection.sol\":114:1156 contract BargainErc721 {\r... */\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 0xb5c1179b\n eq\n tag_3\n jumpi\n dup1\n 0xb6b55f25\n eq\n tag_4\n jumpi\n dup1\n 0xe958ff26\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/FactoryCollection.sol\":784:824 CollectionAndOwner public collectionFrom */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n tag_8\n swap4\n swap3\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/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\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/FactoryCollection.sol\":831:872 CollectionAndOwner public collectionWhant */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n mload(0x40)\n tag_16\n swap4\n swap3\n swap2\n swap1\n tag_9\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FactoryCollection.sol\":784:824 CollectionAndOwner public collectionFrom */\n tag_7:\n 0x01\n dup1\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x02\n add\n sload\n swap1\n pop\n dup4\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\n tag_13:\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/FactoryCollection.sol\":996:1006 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":1040:1056 collectionTarget */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n /* \"contracts/FactoryCollection.sol\":1080:1087 tokenId */\n dup3\n /* \"contracts/FactoryCollection.sol\":955:1099 CollectionAndOwner({\r... */\n dup2\n mstore\n pop\n /* \"contracts/FactoryCollection.sol\":937:952 collectionWhant */\n 0x04\n /* \"contracts/FactoryCollection.sol\":937:1099 collectionWhant = CollectionAndOwner({\r... */\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n sstore\n swap1\n pop\n pop\n /* \"contracts/FactoryCollection.sol\":1115:1143 Deposit(msg.sender, tokenId) */\n 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c\n /* \"contracts/FactoryCollection.sol\":1123:1133 msg.sender */\n caller\n /* \"contracts/FactoryCollection.sol\":1135:1142 tokenId */\n dup3\n /* \"contracts/FactoryCollection.sol\":1115:1143 Deposit(msg.sender, tokenId) */\n mload(0x40)\n tag_18\n swap3\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/FactoryCollection.sol\":881:1151 function deposit(uint256 tokenId) external {\r... */\n pop\n jump\t// out\n /* \"contracts/FactoryCollection.sol\":831:872 CollectionAndOwner public collectionWhant */\n tag_15:\n 0x04\n dup1\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x01\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n dup1\n 0x02\n add\n sload\n swap1\n pop\n dup4\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_21:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_23\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_24\n jump\t// in\n tag_23:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:481 */\n tag_12:\n /* \"#utility.yul\":211:217 */\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:347 */\n iszero\n tag_26\n jumpi\n /* \"#utility.yul\":266:345 */\n tag_27\n tag_28\n jump\t// in\n tag_27:\n /* \"#utility.yul\":228:347 */\n tag_26:\n /* \"#utility.yul\":386:387 */\n 0x00\n /* \"#utility.yul\":411:464 */\n tag_29\n /* \"#utility.yul\":456:463 */\n dup5\n /* \"#utility.yul\":447:453 */\n dup3\n /* \"#utility.yul\":436:445 */\n dup6\n /* \"#utility.yul\":432:454 */\n add\n /* \"#utility.yul\":411:464 */\n tag_21\n jump\t// in\n tag_29:\n /* \"#utility.yul\":401:464 */\n swap2\n pop\n /* \"#utility.yul\":357:474 */\n pop\n /* \"#utility.yul\":152:481 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":487:605 */\n tag_30:\n /* \"#utility.yul\":574:598 */\n tag_32\n /* \"#utility.yul\":592:597 */\n dup2\n /* \"#utility.yul\":574:598 */\n tag_33\n jump\t// in\n tag_32:\n /* \"#utility.yul\":569:572 */\n dup3\n /* \"#utility.yul\":562:599 */\n mstore\n /* \"#utility.yul\":487:605 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":611:729 */\n tag_34:\n /* \"#utility.yul\":698:722 */\n tag_36\n /* \"#utility.yul\":716:721 */\n dup2\n /* \"#utility.yul\":698:722 */\n tag_37\n jump\t// in\n tag_36:\n /* \"#utility.yul\":693:696 */\n dup3\n /* \"#utility.yul\":686:723 */\n mstore\n /* \"#utility.yul\":611:729 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":735:1177 */\n tag_9:\n /* \"#utility.yul\":884:888 */\n 0x00\n /* \"#utility.yul\":922:924 */\n 0x60\n /* \"#utility.yul\":911:920 */\n dup3\n /* \"#utility.yul\":907:925 */\n add\n /* \"#utility.yul\":899:925 */\n swap1\n pop\n /* \"#utility.yul\":935:1006 */\n tag_39\n /* \"#utility.yul\":1003:1004 */\n 0x00\n /* \"#utility.yul\":992:1001 */\n dup4\n /* \"#utility.yul\":988:1005 */\n add\n /* \"#utility.yul\":979:985 */\n dup7\n /* \"#utility.yul\":935:1006 */\n tag_30\n jump\t// in\n tag_39:\n /* \"#utility.yul\":1016:1088 */\n tag_40\n /* \"#utility.yul\":1084:1086 */\n 0x20\n /* \"#utility.yul\":1073:1082 */\n dup4\n /* \"#utility.yul\":1069:1087 */\n add\n /* \"#utility.yul\":1060:1066 */\n dup6\n /* \"#utility.yul\":1016:1088 */\n tag_30\n jump\t// in\n tag_40:\n /* \"#utility.yul\":1098:1170 */\n tag_41\n /* \"#utility.yul\":1166:1168 */\n 0x40\n /* \"#utility.yul\":1155:1164 */\n dup4\n /* \"#utility.yul\":1151:1169 */\n add\n /* \"#utility.yul\":1142:1148 */\n dup5\n /* \"#utility.yul\":1098:1170 */\n tag_34\n jump\t// in\n tag_41:\n /* \"#utility.yul\":735:1177 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1183:1515 */\n tag_19:\n /* \"#utility.yul\":1304:1308 */\n 0x00\n /* \"#utility.yul\":1342:1344 */\n 0x40\n /* \"#utility.yul\":1331:1340 */\n dup3\n /* \"#utility.yul\":1327:1345 */\n add\n /* \"#utility.yul\":1319:1345 */\n swap1\n pop\n /* \"#utility.yul\":1355:1426 */\n tag_43\n /* \"#utility.yul\":1423:1424 */\n 0x00\n /* \"#utility.yul\":1412:1421 */\n dup4\n /* \"#utility.yul\":1408:1425 */\n add\n /* \"#utility.yul\":1399:1405 */\n dup6\n /* \"#utility.yul\":1355:1426 */\n tag_30\n jump\t// in\n tag_43:\n /* \"#utility.yul\":1436:1508 */\n tag_44\n /* \"#utility.yul\":1504:1506 */\n 0x20\n /* \"#utility.yul\":1493:1502 */\n dup4\n /* \"#utility.yul\":1489:1507 */\n add\n /* \"#utility.yul\":1480:1486 */\n dup5\n /* \"#utility.yul\":1436:1508 */\n tag_34\n jump\t// in\n tag_44:\n /* \"#utility.yul\":1183:1515 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1602:1698 */\n tag_33:\n /* \"#utility.yul\":1639:1646 */\n 0x00\n /* \"#utility.yul\":1668:1692 */\n tag_48\n /* \"#utility.yul\":1686:1691 */\n dup3\n /* \"#utility.yul\":1668:1692 */\n tag_49\n jump\t// in\n tag_48:\n /* \"#utility.yul\":1657:1692 */\n swap1\n pop\n /* \"#utility.yul\":1602:1698 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1704:1830 */\n tag_49:\n /* \"#utility.yul\":1741:1748 */\n 0x00\n /* \"#utility.yul\":1781:1823 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1774:1779 */\n dup3\n /* \"#utility.yul\":1770:1824 */\n and\n /* \"#utility.yul\":1759:1824 */\n swap1\n pop\n /* \"#utility.yul\":1704:1830 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1836:1913 */\n tag_37:\n /* \"#utility.yul\":1873:1880 */\n 0x00\n /* \"#utility.yul\":1902:1907 */\n dup2\n /* \"#utility.yul\":1891:1907 */\n swap1\n pop\n /* \"#utility.yul\":1836:1913 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2042:2159 */\n tag_28:\n /* \"#utility.yul\":2151:2152 */\n 0x00\n /* \"#utility.yul\":2148:2149 */\n dup1\n /* \"#utility.yul\":2141:2153 */\n revert\n /* \"#utility.yul\":2165:2287 */\n tag_24:\n /* \"#utility.yul\":2238:2262 */\n tag_56\n /* \"#utility.yul\":2256:2261 */\n dup2\n /* \"#utility.yul\":2238:2262 */\n tag_37\n jump\t// in\n tag_56:\n /* \"#utility.yul\":2231:2236 */\n dup2\n /* \"#utility.yul\":2228:2263 */\n eq\n /* \"#utility.yul\":2218:2281 */\n tag_57\n jumpi\n /* \"#utility.yul\":2277:2278 */\n 0x00\n /* \"#utility.yul\":2274:2275 */\n dup1\n /* \"#utility.yul\":2267:2279 */\n revert\n /* \"#utility.yul\":2218:2281 */\n tag_57:\n /* \"#utility.yul\":2165:2287 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033\n }\n }\n\n auxdata: 0xa26469706673582212205c7373dfd307e471516091dd83ff9361dd996f89933014165731b59acf7070e464736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506109cc806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80632fd3f5ea14610030575b600080fd5b61004a60048036038101906100459190610122565b610060565b60405161005791906101d9565b60405180910390f35b600080848484604051610072906100eb565b61007e939291906101a2565b604051809103906000f08015801561009a573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff167fe3758539c1bd6726422843471b2886c2d2cefd3b4aead6778386283e20a32a8060405160405180910390a2809150509392505050565b6106fd8061029a83390190565b6000813590506101078161026b565b92915050565b60008135905061011c81610282565b92915050565b60008060006060848603121561013b5761013a610266565b5b6000610149868287016100f8565b935050602061015a868287016100f8565b925050604061016b8682870161010d565b9150509250925092565b61017e816101f4565b82525050565b61018d81610230565b82525050565b61019c81610226565b82525050565b60006060820190506101b76000830186610175565b6101c46020830185610175565b6101d16040830184610193565b949350505050565b60006020820190506101ee6000830184610184565b92915050565b60006101ff82610206565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061023b82610242565b9050919050565b600061024d82610254565b9050919050565b600061025f82610206565b9050919050565b600080fd5b610274816101f4565b811461027f57600080fd5b50565b61028b81610226565b811461029657600080fd5b5056fe608060405234801561001057600080fd5b506040516106fd3803806106fd833981810160405281019061003291906101f7565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050508273ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b815260040161019393929190610268565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050505061030e565b6000815190506101dc816102e0565b92915050565b6000815190506101f1816102f7565b92915050565b6000806000606084860312156102105761020f6102db565b5b600061021e868287016101cd565b935050602061022f868287016101cd565b9250506040610240868287016101e2565b9150509250925092565b6102538161029f565b82525050565b610262816102d1565b82525050565b600060608201905061027d600083018661024a565b61028a602083018561024a565b6102976040830184610259565b949350505050565b60006102aa826102b1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6102e98161029f565b81146102f457600080fd5b50565b610300816102d1565b811461030b57600080fd5b50565b6103e08061031d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b5c1179b14610046578063b6b55f2514610066578063e958ff2614610082575b600080fd5b61004e6100a2565b60405161005d939291906102f2565b60405180910390f35b610080600480360381019061007b91906102a7565b6100fa565b005b61008a61023a565b604051610099939291906102f2565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c338260405161022f929190610329565b60405180910390a150565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000813590506102a181610393565b92915050565b6000602082840312156102bd576102bc61038e565b5b60006102cb84828501610292565b91505092915050565b6102dd81610352565b82525050565b6102ec81610384565b82525050565b600060608201905061030760008301866102d4565b61031460208301856102d4565b61032160408301846102e3565b949350505050565b600060408201905061033e60008301856102d4565b61034b60208301846102e3565b9392505050565b600061035d82610364565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b61039c81610384565b81146103a757600080fd5b5056fea2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033a26469706673582212205c7373dfd307e471516091dd83ff9361dd996f89933014165731b59acf7070e464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9CC DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FD3F5EA EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x122 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x72 SWAP1 PUSH2 0xEB JUMP JUMPDEST PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xE3758539C1BD6726422843471B2886C2D2CEFD3B4AEAD6778386283E20A32A80 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x6FD DUP1 PUSH2 0x29A DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x107 DUP2 PUSH2 0x26B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11C DUP2 PUSH2 0x282 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13B JUMPI PUSH2 0x13A PUSH2 0x266 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x149 DUP7 DUP3 DUP8 ADD PUSH2 0xF8 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x15A DUP7 DUP3 DUP8 ADD PUSH2 0xF8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x16B DUP7 DUP3 DUP8 ADD PUSH2 0x10D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x17E DUP2 PUSH2 0x1F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x18D DUP2 PUSH2 0x230 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x19C DUP2 PUSH2 0x226 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1B7 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1C4 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1D1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x193 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1EE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x184 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF DUP3 PUSH2 0x206 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B DUP3 PUSH2 0x242 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24D DUP3 PUSH2 0x254 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F DUP3 PUSH2 0x206 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x274 DUP2 PUSH2 0x1F4 JUMP JUMPDEST DUP2 EQ PUSH2 0x27F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x28B DUP2 PUSH2 0x226 JUMP JUMPDEST DUP2 EQ PUSH2 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6FD CODESIZE SUB DUP1 PUSH2 0x6FD DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x42842E0E CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x193 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x268 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x30E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1DC DUP2 PUSH2 0x2E0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1 DUP2 PUSH2 0x2F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x210 JUMPI PUSH2 0x20F PUSH2 0x2DB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x22F DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x240 DUP7 DUP3 DUP8 ADD PUSH2 0x1E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x253 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x262 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x27D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x28A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x297 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x259 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA DUP3 PUSH2 0x2B1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E9 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP2 EQ PUSH2 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x300 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP2 EQ PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3E0 DUP1 PUSH2 0x31D 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 0xB5C1179B EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB6B55F25 EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0xFA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP PUSH32 0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP3 SWAP2 SWAP1 PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A1 DUP2 PUSH2 0x393 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD JUMPI PUSH2 0x2BC PUSH2 0x38E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CB DUP5 DUP3 DUP6 ADD PUSH2 0x292 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2DD DUP2 PUSH2 0x352 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2EC DUP2 PUSH2 0x384 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x307 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x314 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x321 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x34B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35D DUP3 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39C DUP2 PUSH2 0x384 JUMP JUMPDEST DUP2 EQ PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 SIGNEXTEND 0x1E PUSH32 0xD9992F859F4D4B56A2C438446FDB412B15806B0D287BB640E565E88464736F6C PUSH4 0x43000807 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C PUSH20 0x73DFD307E471516091DD83FF9361DD996F899330 EQ AND JUMPI BALANCE 0xB5 SWAP11 0xCF PUSH17 0x70E464736F6C6343000807003300000000 ",
"sourceMap": "1162:400:2:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@createBargain_245": {
"entryPoint": 96,
"id": 245,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 248,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 269,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_uint256": {
"entryPoint": 290,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 373,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_contract$_BargainErc721_$210_to_t_address_fromStack": {
"entryPoint": 388,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 403,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 418,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_contract$_BargainErc721_$210__to_t_address__fromStack_reversed": {
"entryPoint": 473,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 500,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 518,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 550,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_contract$_BargainErc721_$210_to_t_address": {
"entryPoint": 560,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 578,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 596,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 614,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 619,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 642,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3368:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:3"
},
"nodeType": "YulFunctionCall",
"src": "78:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:3"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:3"
},
"nodeType": "YulFunctionCall",
"src": "107:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:3"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:3",
"type": ""
}
],
"src": "7:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "204:87:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "214:29:3",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "236:6:3"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "223:12:3"
},
"nodeType": "YulFunctionCall",
"src": "223:20:3"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "214:5:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "279:5:3"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "252:26:3"
},
"nodeType": "YulFunctionCall",
"src": "252:33:3"
},
"nodeType": "YulExpressionStatement",
"src": "252:33:3"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "182:6:3",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "190:3:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "198:5:3",
"type": ""
}
],
"src": "152:139:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "397:519:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "443:83:3",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "445:77:3"
},
"nodeType": "YulFunctionCall",
"src": "445:79:3"
},
"nodeType": "YulExpressionStatement",
"src": "445:79:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "418:7:3"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "427:9:3"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "414:3:3"
},
"nodeType": "YulFunctionCall",
"src": "414:23:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "439:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "410:3:3"
},
"nodeType": "YulFunctionCall",
"src": "410:32:3"
},
"nodeType": "YulIf",
"src": "407:119:3"
},
{
"nodeType": "YulBlock",
"src": "536:117:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "551:15:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:3",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "555:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "580:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "615:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "626:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "611:3:3"
},
"nodeType": "YulFunctionCall",
"src": "611:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "635:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "590:20:3"
},
"nodeType": "YulFunctionCall",
"src": "590:53:3"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "580:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "663:118:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "678:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "692:2:3",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "682:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "708:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "743:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "754:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "739:3:3"
},
"nodeType": "YulFunctionCall",
"src": "739:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "763:7:3"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "718:20:3"
},
"nodeType": "YulFunctionCall",
"src": "718:53:3"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "708:6:3"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "791:118:3",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "806:16:3",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "820:2:3",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "810:6:3",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "836:63:3",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "871:9:3"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "882:6:3"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "867:3:3"
},
"nodeType": "YulFunctionCall",
"src": "867:22:3"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "891:7:3"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "846:20:3"
},
"nodeType": "YulFunctionCall",
"src": "846:53:3"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "836:6:3"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "351:9:3",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "362:7:3",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "374:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "382:6:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "390:6:3",
"type": ""
}
],
"src": "297:619:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "987:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1004:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1027:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1009:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1009:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "997:6:3"
},
"nodeType": "YulFunctionCall",
"src": "997:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "997:37:3"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "975:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "982:3:3",
"type": ""
}
],
"src": "922:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1132:87:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1149:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1206:5:3"
}
],
"functionName": {
"name": "convert_t_contract$_BargainErc721_$210_to_t_address",
"nodeType": "YulIdentifier",
"src": "1154:51:3"
},
"nodeType": "YulFunctionCall",
"src": "1154:58:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1142:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1142:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "1142:71:3"
}
]
},
"name": "abi_encode_t_contract$_BargainErc721_$210_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1120:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1127:3:3",
"type": ""
}
],
"src": "1046:173:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1290:53:3",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1307:3:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1330:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1312:17:3"
},
"nodeType": "YulFunctionCall",
"src": "1312:24:3"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1300:6:3"
},
"nodeType": "YulFunctionCall",
"src": "1300:37:3"
},
"nodeType": "YulExpressionStatement",
"src": "1300:37:3"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1278:5:3",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1285:3:3",
"type": ""
}
],
"src": "1225:118:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1503:288:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1513:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1525:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1536:2:3",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1521:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1521:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1513:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1593:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1606:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1617:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1602:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1602:17:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1549:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1549:71:3"
},
"nodeType": "YulExpressionStatement",
"src": "1549:71:3"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1674:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1687:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1698:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1683:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1683:18:3"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1630:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1630:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1630:72:3"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1756:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1769:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1780:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1765:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1765:18:3"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1712:43:3"
},
"nodeType": "YulFunctionCall",
"src": "1712:72:3"
},
"nodeType": "YulExpressionStatement",
"src": "1712:72:3"
}
]
},
"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": "1459:9:3",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1471:6:3",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1479:6:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1487:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1498:4:3",
"type": ""
}
],
"src": "1349:442:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1916:145:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1926:26:3",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1938:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1949:2:3",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1934:3:3"
},
"nodeType": "YulFunctionCall",
"src": "1934:18:3"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1926:4:3"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2027:6:3"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2040:9:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2051:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2036:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2036:17:3"
}
],
"functionName": {
"name": "abi_encode_t_contract$_BargainErc721_$210_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1962:64:3"
},
"nodeType": "YulFunctionCall",
"src": "1962:92:3"
},
"nodeType": "YulExpressionStatement",
"src": "1962:92:3"
}
]
},
"name": "abi_encode_tuple_t_contract$_BargainErc721_$210__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1888:9:3",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1900:6:3",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1911:4:3",
"type": ""
}
],
"src": "1797:264:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2107:35:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2117:19:3",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2133:2:3",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2127:5:3"
},
"nodeType": "YulFunctionCall",
"src": "2127:9:3"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "2117:6:3"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "2100:6:3",
"type": ""
}
],
"src": "2067:75:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2193:51:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2203:35:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2232:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2214:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2214:24:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2203:7:3"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2175:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2185:7:3",
"type": ""
}
],
"src": "2148:96:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2295:81:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2305:65:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2320:5:3"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2327:42:3",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "2316:3:3"
},
"nodeType": "YulFunctionCall",
"src": "2316:54:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2305:7:3"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2277:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2287:7:3",
"type": ""
}
],
"src": "2250:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2427:32:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2437:16:3",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2448:5:3"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2437:7:3"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2409:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2419:7:3",
"type": ""
}
],
"src": "2382:77:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2546:66:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2556:50:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2600:5:3"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "2569:30:3"
},
"nodeType": "YulFunctionCall",
"src": "2569:37:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2556:9:3"
}
]
}
]
},
"name": "convert_t_contract$_BargainErc721_$210_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2526:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2536:9:3",
"type": ""
}
],
"src": "2465:147:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2678:66:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2688:50:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2732:5:3"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "2701:30:3"
},
"nodeType": "YulFunctionCall",
"src": "2701:37:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2688:9:3"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2658:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2668:9:3",
"type": ""
}
],
"src": "2618:126:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2810:53:3",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2820:37:3",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2851:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "2833:17:3"
},
"nodeType": "YulFunctionCall",
"src": "2833:24:3"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2820:9:3"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2790:5:3",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2800:9:3",
"type": ""
}
],
"src": "2750:113:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2958:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2975:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2978:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2968:6:3"
},
"nodeType": "YulFunctionCall",
"src": "2968:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "2968:12:3"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2869:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3081:28:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3098:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3101:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3091:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3091:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "3091:12:3"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2992:117:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3158:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3215:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3224:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3227:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3217:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3217:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "3217:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3181:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3206:5:3"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "3188:17:3"
},
"nodeType": "YulFunctionCall",
"src": "3188:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3178:2:3"
},
"nodeType": "YulFunctionCall",
"src": "3178:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3171:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3171:43:3"
},
"nodeType": "YulIf",
"src": "3168:63:3"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3151:5:3",
"type": ""
}
],
"src": "3115:122:3"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3286:79:3",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3343:16:3",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3352:1:3",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3355:1:3",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3345:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3345:12:3"
},
"nodeType": "YulExpressionStatement",
"src": "3345:12:3"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3309:5:3"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3334:5:3"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3316:17:3"
},
"nodeType": "YulFunctionCall",
"src": "3316:24:3"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3306:2:3"
},
"nodeType": "YulFunctionCall",
"src": "3306:35:3"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3299:6:3"
},
"nodeType": "YulFunctionCall",
"src": "3299:43:3"
},
"nodeType": "YulIf",
"src": "3296:63:3"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3279:5:3",
"type": ""
}
],
"src": "3243:122:3"
}
]
},
"contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_contract$_BargainErc721_$210_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_BargainErc721_$210_to_t_address(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_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_contract$_BargainErc721_$210__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_BargainErc721_$210_to_t_address_fromStack(value0, add(headStart, 0))\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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_BargainErc721_$210_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function 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 function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 3,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80632fd3f5ea14610030575b600080fd5b61004a60048036038101906100459190610122565b610060565b60405161005791906101d9565b60405180910390f35b600080848484604051610072906100eb565b61007e939291906101a2565b604051809103906000f08015801561009a573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff167fe3758539c1bd6726422843471b2886c2d2cefd3b4aead6778386283e20a32a8060405160405180910390a2809150509392505050565b6106fd8061029a83390190565b6000813590506101078161026b565b92915050565b60008135905061011c81610282565b92915050565b60008060006060848603121561013b5761013a610266565b5b6000610149868287016100f8565b935050602061015a868287016100f8565b925050604061016b8682870161010d565b9150509250925092565b61017e816101f4565b82525050565b61018d81610230565b82525050565b61019c81610226565b82525050565b60006060820190506101b76000830186610175565b6101c46020830185610175565b6101d16040830184610193565b949350505050565b60006020820190506101ee6000830184610184565b92915050565b60006101ff82610206565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061023b82610242565b9050919050565b600061024d82610254565b9050919050565b600061025f82610206565b9050919050565b600080fd5b610274816101f4565b811461027f57600080fd5b50565b61028b81610226565b811461029657600080fd5b5056fe608060405234801561001057600080fd5b506040516106fd3803806106fd833981810160405281019061003291906101f7565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200182815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050508273ffffffffffffffffffffffffffffffffffffffff166342842e0e3330846040518463ffffffff1660e01b815260040161019393929190610268565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b5050505050505061030e565b6000815190506101dc816102e0565b92915050565b6000815190506101f1816102f7565b92915050565b6000806000606084860312156102105761020f6102db565b5b600061021e868287016101cd565b935050602061022f868287016101cd565b9250506040610240868287016101e2565b9150509250925092565b6102538161029f565b82525050565b610262816102d1565b82525050565b600060608201905061027d600083018661024a565b61028a602083018561024a565b6102976040830184610259565b949350505050565b60006102aa826102b1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b6102e98161029f565b81146102f457600080fd5b50565b610300816102d1565b811461030b57600080fd5b50565b6103e08061031d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b5c1179b14610046578063b6b55f2514610066578063e958ff2614610082575b600080fd5b61004e6100a2565b60405161005d939291906102f2565b60405180910390f35b610080600480360381019061007b91906102a7565b6100fa565b005b61008a61023a565b604051610099939291906102f2565b60405180910390f35b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050507fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c338260405161022f929190610329565b60405180910390a150565b60048060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b6000813590506102a181610393565b92915050565b6000602082840312156102bd576102bc61038e565b5b60006102cb84828501610292565b91505092915050565b6102dd81610352565b82525050565b6102ec81610384565b82525050565b600060608201905061030760008301866102d4565b61031460208301856102d4565b61032160408301846102e3565b949350505050565b600060408201905061033e60008301856102d4565b61034b60208301846102e3565b9392505050565b600061035d82610364565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600080fd5b61039c81610384565b81146103a757600080fd5b5056fea2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033a26469706673582212205c7373dfd307e471516091dd83ff9361dd996f89933014165731b59acf7070e464736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FD3F5EA EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x122 JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x57 SWAP2 SWAP1 PUSH2 0x1D9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x72 SWAP1 PUSH2 0xEB JUMP JUMPDEST PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x9A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xE3758539C1BD6726422843471B2886C2D2CEFD3B4AEAD6778386283E20A32A80 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x6FD DUP1 PUSH2 0x29A DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x107 DUP2 PUSH2 0x26B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11C DUP2 PUSH2 0x282 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x13B JUMPI PUSH2 0x13A PUSH2 0x266 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x149 DUP7 DUP3 DUP8 ADD PUSH2 0xF8 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x15A DUP7 DUP3 DUP8 ADD PUSH2 0xF8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x16B DUP7 DUP3 DUP8 ADD PUSH2 0x10D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x17E DUP2 PUSH2 0x1F4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x18D DUP2 PUSH2 0x230 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x19C DUP2 PUSH2 0x226 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1B7 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1C4 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x1D1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x193 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1EE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x184 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF DUP3 PUSH2 0x206 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23B DUP3 PUSH2 0x242 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24D DUP3 PUSH2 0x254 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25F DUP3 PUSH2 0x206 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x274 DUP2 PUSH2 0x1F4 JUMP JUMPDEST DUP2 EQ PUSH2 0x27F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x28B DUP2 PUSH2 0x226 JUMP JUMPDEST DUP2 EQ PUSH2 0x296 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6FD CODESIZE SUB DUP1 PUSH2 0x6FD DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0x1F7 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x42842E0E CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x193 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x268 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1C1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0x30E JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1DC DUP2 PUSH2 0x2E0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F1 DUP2 PUSH2 0x2F7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x210 JUMPI PUSH2 0x20F PUSH2 0x2DB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x21E DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x22F DUP7 DUP3 DUP8 ADD PUSH2 0x1CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x240 DUP7 DUP3 DUP8 ADD PUSH2 0x1E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x253 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x262 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x27D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x28A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x297 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x259 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA DUP3 PUSH2 0x2B1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E9 DUP2 PUSH2 0x29F JUMP JUMPDEST DUP2 EQ PUSH2 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x300 DUP2 PUSH2 0x2D1 JUMP JUMPDEST DUP2 EQ PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3E0 DUP1 PUSH2 0x31D 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 0xB5C1179B EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0xB6B55F25 EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xE958FF26 EQ PUSH2 0x82 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x80 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7B SWAP2 SWAP1 PUSH2 0x2A7 JUMP JUMPDEST PUSH2 0xFA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8A PUSH2 0x23A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x99 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE SWAP1 POP POP PUSH32 0xE1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C CALLER DUP3 PUSH1 0x40 MLOAD PUSH2 0x22F SWAP3 SWAP2 SWAP1 PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x4 DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A1 DUP2 PUSH2 0x393 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD JUMPI PUSH2 0x2BC PUSH2 0x38E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CB DUP5 DUP3 DUP6 ADD PUSH2 0x292 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2DD DUP2 PUSH2 0x352 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2EC DUP2 PUSH2 0x384 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x307 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x314 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x321 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x33E PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2D4 JUMP JUMPDEST PUSH2 0x34B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2E3 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x35D DUP3 PUSH2 0x364 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39C DUP2 PUSH2 0x384 JUMP JUMPDEST DUP2 EQ PUSH2 0x3A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC2 SIGNEXTEND 0x1E PUSH32 0xD9992F859F4D4B56A2C438446FDB412B15806B0D287BB640E565E88464736F6C PUSH4 0x43000807 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C PUSH20 0x73DFD307E471516091DD83FF9361DD996F899330 EQ AND JUMPI BALANCE 0xB5 SWAP11 0xCF PUSH17 0x70E464736F6C6343000807003300000000 ",
"sourceMap": "1162:400:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;1354:13;1380:27;1429:10;1441:12;1455:17;1411:62;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1380:93;;1496:13;1489:21;;;;;;;;;;;;1528:13;1521:20;;;1247:302;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;7:139:3:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:619::-;374:6;382;390;439:2;427:9;418:7;414:23;410:32;407:119;;;445:79;;:::i;:::-;407:119;565:1;590:53;635:7;626:6;615:9;611:22;590:53;:::i;:::-;580:63;;536:117;692:2;718:53;763:7;754:6;743:9;739:22;718:53;:::i;:::-;708:63;;663:118;820:2;846:53;891:7;882:6;871:9;867:22;846:53;:::i;:::-;836:63;;791:118;297:619;;;;;:::o;922:118::-;1009:24;1027:5;1009:24;:::i;:::-;1004:3;997:37;922:118;;:::o;1046:173::-;1154:58;1206:5;1154:58;:::i;:::-;1149:3;1142:71;1046:173;;:::o;1225:118::-;1312:24;1330:5;1312:24;:::i;:::-;1307:3;1300:37;1225:118;;:::o;1349:442::-;1498:4;1536:2;1525:9;1521:18;1513:26;;1549:71;1617:1;1606:9;1602:17;1593:6;1549:71;:::i;:::-;1630:72;1698:2;1687:9;1683:18;1674:6;1630:72;:::i;:::-;1712;1780:2;1769:9;1765:18;1756:6;1712:72;:::i;:::-;1349:442;;;;;;:::o;1797:264::-;1911:4;1949:2;1938:9;1934:18;1926:26;;1962:92;2051:1;2040:9;2036:17;2027:6;1962:92;:::i;:::-;1797:264;;;;:::o;2148:96::-;2185:7;2214:24;2232:5;2214:24;:::i;:::-;2203:35;;2148:96;;;:::o;2250:126::-;2287:7;2327:42;2320:5;2316:54;2305:65;;2250:126;;;:::o;2382:77::-;2419:7;2448:5;2437:16;;2382:77;;;:::o;2465:147::-;2536:9;2569:37;2600:5;2569:37;:::i;:::-;2556:50;;2465:147;;;:::o;2618:126::-;2668:9;2701:37;2732:5;2701:37;:::i;:::-;2688:50;;2618:126;;;:::o;2750:113::-;2800:9;2833:24;2851:5;2833:24;:::i;:::-;2820:37;;2750:113;;;:::o;2992:117::-;3101:1;3098;3091:12;3115:122;3188:24;3206:5;3188:24;:::i;:::-;3181:5;3178:35;3168:63;;3227:1;3224;3217:12;3168:63;3115:122;:::o;3243:::-;3316:24;3334:5;3316:24;:::i;:::-;3309:5;3306:35;3296:63;;3355:1;3352;3345:12;3296:63;3243:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "501600",
"executionCost": "537",
"totalCost": "502137"
},
"external": {
"createBargain(address,address,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1162,
"end": 1562,
"name": "MSTORE",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "ISZERO",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPI",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "REVERT",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "POP",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH #[$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH [$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "CODECOPY",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "RETURN",
"source": 2
}
],
".data": {
"0": {
".auxdata": "a26469706673582212205c7373dfd307e471516091dd83ff9361dd996f89933014165731b59acf7070e464736f6c63430008070033",
".code": [
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1162,
"end": 1562,
"name": "MSTORE",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "ISZERO",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPI",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "REVERT",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "POP",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 1162,
"end": 1562,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "LT",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH [tag]",
"source": 2,
"value": "2"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPI",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "E0"
},
{
"begin": 1162,
"end": 1562,
"name": "SHR",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "2FD3F5EA"
},
{
"begin": 1162,
"end": 1562,
"name": "EQ",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH [tag]",
"source": 2,
"value": "3"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPI",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "tag",
"source": 2,
"value": "2"
},
{
"begin": 1162,
"end": 1562,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1162,
"end": 1562,
"name": "DUP1",
"source": 2
},
{
"begin": 1162,
"end": 1562,
"name": "REVERT",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "tag",
"source": 2,
"value": "3"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "4"
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 1247,
"end": 1549,
"name": "DUP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SUB",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "DUP2",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "ADD",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "5"
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP2",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "6"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1247,
"end": 1549,
"name": "tag",
"source": 2,
"value": "5"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "7"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1247,
"end": 1549,
"name": "tag",
"source": 2,
"value": "4"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1247,
"end": 1549,
"name": "MLOAD",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "8"
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP2",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH [tag]",
"source": 2,
"value": "9"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1247,
"end": 1549,
"name": "tag",
"source": 2,
"value": "8"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1247,
"end": 1549,
"name": "MLOAD",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "DUP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP2",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SUB",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP1",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "RETURN",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "tag",
"source": 2,
"value": "7"
},
{
"begin": 1247,
"end": 1549,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1354,
"end": 1367,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1380,
"end": 1407,
"name": "DUP1",
"source": 2
},
{
"begin": 1429,
"end": 1439,
"name": "DUP5",
"source": 2
},
{
"begin": 1441,
"end": 1453,
"name": "DUP5",
"source": 2
},
{
"begin": 1455,
"end": 1472,
"name": "DUP5",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1411,
"end": 1473,
"name": "MLOAD",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH [tag]",
"source": 2,
"value": "11"
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH [tag]",
"source": 2,
"value": "12"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1411,
"end": 1473,
"name": "tag",
"source": 2,
"value": "11"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH [tag]",
"source": 2,
"value": "13"
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP4",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP3",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP2",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH [tag]",
"source": 2,
"value": "14"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1411,
"end": 1473,
"name": "tag",
"source": 2,
"value": "13"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1411,
"end": 1473,
"name": "MLOAD",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "DUP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP2",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SUB",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "SWAP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1411,
"end": 1473,
"name": "CREATE",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "DUP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "ISZERO",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "DUP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "ISZERO",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH [tag]",
"source": 2,
"value": "15"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMPI",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1411,
"end": 1473,
"name": "DUP1",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "RETURNDATACOPY",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1411,
"end": 1473,
"name": "REVERT",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "tag",
"source": 2,
"value": "15"
},
{
"begin": 1411,
"end": 1473,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1411,
"end": 1473,
"name": "POP",
"source": 2
},
{
"begin": 1380,
"end": 1473,
"name": "SWAP1",
"source": 2
},
{
"begin": 1380,
"end": 1473,
"name": "POP",
"source": 2
},
{
"begin": 1496,
"end": 1509,
"name": "DUP1",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1489,
"end": 1510,
"name": "AND",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "PUSH",
"source": 2,
"value": "E3758539C1BD6726422843471B2886C2D2CEFD3B4AEAD6778386283E20A32A80"
},
{
"begin": 1489,
"end": 1510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1489,
"end": 1510,
"name": "MLOAD",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1489,
"end": 1510,
"name": "MLOAD",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "DUP1",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "SWAP2",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "SUB",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "SWAP1",
"source": 2
},
{
"begin": 1489,
"end": 1510,
"name": "LOG2",
"source": 2
},
{
"begin": 1528,
"end": 1541,
"name": "DUP1",
"source": 2
},
{
"begin": 1521,
"end": 1541,
"name": "SWAP2",
"source": 2
},
{
"begin": 1521,
"end": 1541,
"name": "POP",
"source": 2
},
{
"begin": 1521,
"end": 1541,
"name": "POP",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP4",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "SWAP3",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "POP",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "POP",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "POP",
"source": 2
},
{
"begin": 1247,
"end": 1549,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "12"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH #[$]",
"source": -1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [$]",
"source": -1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "CODECOPY",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 3,
"value": "17"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 53,
"end": 58,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 3
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "19"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "20"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 3,
"value": "19"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP3",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP2",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 152,
"end": 291,
"name": "tag",
"source": 3,
"value": "21"
},
{
"begin": 152,
"end": 291,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 198,
"end": 203,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 236,
"end": 242,
"name": "DUP2",
"source": 3
},
{
"begin": 223,
"end": 243,
"name": "CALLDATALOAD",
"source": 3
},
{
"begin": 214,
"end": 243,
"name": "SWAP1",
"source": 3
},
{
"begin": 214,
"end": 243,
"name": "POP",
"source": 3
},
{
"begin": 252,
"end": 285,
"name": "PUSH [tag]",
"source": 3,
"value": "23"
},
{
"begin": 279,
"end": 284,
"name": "DUP2",
"source": 3
},
{
"begin": 252,
"end": 285,
"name": "PUSH [tag]",
"source": 3,
"value": "24"
},
{
"begin": 252,
"end": 285,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 252,
"end": 285,
"name": "tag",
"source": 3,
"value": "23"
},
{
"begin": 252,
"end": 285,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 152,
"end": 291,
"name": "SWAP3",
"source": 3
},
{
"begin": 152,
"end": 291,
"name": "SWAP2",
"source": 3
},
{
"begin": 152,
"end": 291,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 291,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 291,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 297,
"end": 916,
"name": "tag",
"source": 3,
"value": "6"
},
{
"begin": 297,
"end": 916,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 374,
"end": 380,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 382,
"end": 388,
"name": "DUP1",
"source": 3
},
{
"begin": 390,
"end": 396,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 439,
"end": 441,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 427,
"end": 436,
"name": "DUP5",
"source": 3
},
{
"begin": 418,
"end": 425,
"name": "DUP7",
"source": 3
},
{
"begin": 414,
"end": 437,
"name": "SUB",
"source": 3
},
{
"begin": 410,
"end": 442,
"name": "SLT",
"source": 3
},
{
"begin": 407,
"end": 526,
"name": "ISZERO",
"source": 3
},
{
"begin": 407,
"end": 526,
"name": "PUSH [tag]",
"source": 3,
"value": "26"
},
{
"begin": 407,
"end": 526,
"name": "JUMPI",
"source": 3
},
{
"begin": 445,
"end": 524,
"name": "PUSH [tag]",
"source": 3,
"value": "27"
},
{
"begin": 445,
"end": 524,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 445,
"end": 524,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 445,
"end": 524,
"name": "tag",
"source": 3,
"value": "27"
},
{
"begin": 445,
"end": 524,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 407,
"end": 526,
"name": "tag",
"source": 3,
"value": "26"
},
{
"begin": 407,
"end": 526,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 565,
"end": 566,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 590,
"end": 643,
"name": "PUSH [tag]",
"source": 3,
"value": "29"
},
{
"begin": 635,
"end": 642,
"name": "DUP7",
"source": 3
},
{
"begin": 626,
"end": 632,
"name": "DUP3",
"source": 3
},
{
"begin": 615,
"end": 624,
"name": "DUP8",
"source": 3
},
{
"begin": 611,
"end": 633,
"name": "ADD",
"source": 3
},
{
"begin": 590,
"end": 643,
"name": "PUSH [tag]",
"source": 3,
"value": "17"
},
{
"begin": 590,
"end": 643,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 590,
"end": 643,
"name": "tag",
"source": 3,
"value": "29"
},
{
"begin": 590,
"end": 643,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 580,
"end": 643,
"name": "SWAP4",
"source": 3
},
{
"begin": 580,
"end": 643,
"name": "POP",
"source": 3
},
{
"begin": 536,
"end": 653,
"name": "POP",
"source": 3
},
{
"begin": 692,
"end": 694,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 718,
"end": 771,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 763,
"end": 770,
"name": "DUP7",
"source": 3
},
{
"begin": 754,
"end": 760,
"name": "DUP3",
"source": 3
},
{
"begin": 743,
"end": 752,
"name": "DUP8",
"source": 3
},
{
"begin": 739,
"end": 761,
"name": "ADD",
"source": 3
},
{
"begin": 718,
"end": 771,
"name": "PUSH [tag]",
"source": 3,
"value": "17"
},
{
"begin": 718,
"end": 771,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 718,
"end": 771,
"name": "tag",
"source": 3,
"value": "30"
},
{
"begin": 718,
"end": 771,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 708,
"end": 771,
"name": "SWAP3",
"source": 3
},
{
"begin": 708,
"end": 771,
"name": "POP",
"source": 3
},
{
"begin": 663,
"end": 781,
"name": "POP",
"source": 3
},
{
"begin": 820,
"end": 822,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 846,
"end": 899,
"name": "PUSH [tag]",
"source": 3,
"value": "31"
},
{
"begin": 891,
"end": 898,
"name": "DUP7",
"source": 3
},
{
"begin": 882,
"end": 888,
"name": "DUP3",
"source": 3
},
{
"begin": 871,
"end": 880,
"name": "DUP8",
"source": 3
},
{
"begin": 867,
"end": 889,
"name": "ADD",
"source": 3
},
{
"begin": 846,
"end": 899,
"name": "PUSH [tag]",
"source": 3,
"value": "21"
},
{
"begin": 846,
"end": 899,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 846,
"end": 899,
"name": "tag",
"source": 3,
"value": "31"
},
{
"begin": 846,
"end": 899,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 836,
"end": 899,
"name": "SWAP2",
"source": 3
},
{
"begin": 836,
"end": 899,
"name": "POP",
"source": 3
},
{
"begin": 791,
"end": 909,
"name": "POP",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "SWAP3",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "POP",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "SWAP3",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "POP",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "SWAP3",
"source": 3
},
{
"begin": 297,
"end": 916,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 922,
"end": 1040,
"name": "tag",
"source": 3,
"value": "32"
},
{
"begin": 922,
"end": 1040,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1009,
"end": 1033,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1027,
"end": 1032,
"name": "DUP2",
"source": 3
},
{
"begin": 1009,
"end": 1033,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 1009,
"end": 1033,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1009,
"end": 1033,
"name": "tag",
"source": 3,
"value": "34"
},
{
"begin": 1009,
"end": 1033,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1004,
"end": 1007,
"name": "DUP3",
"source": 3
},
{
"begin": 997,
"end": 1034,
"name": "MSTORE",
"source": 3
},
{
"begin": 922,
"end": 1040,
"name": "POP",
"source": 3
},
{
"begin": 922,
"end": 1040,
"name": "POP",
"source": 3
},
{
"begin": 922,
"end": 1040,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1046,
"end": 1219,
"name": "tag",
"source": 3,
"value": "36"
},
{
"begin": 1046,
"end": 1219,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1154,
"end": 1212,
"name": "PUSH [tag]",
"source": 3,
"value": "38"
},
{
"begin": 1206,
"end": 1211,
"name": "DUP2",
"source": 3
},
{
"begin": 1154,
"end": 1212,
"name": "PUSH [tag]",
"source": 3,
"value": "39"
},
{
"begin": 1154,
"end": 1212,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1154,
"end": 1212,
"name": "tag",
"source": 3,
"value": "38"
},
{
"begin": 1154,
"end": 1212,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1149,
"end": 1152,
"name": "DUP3",
"source": 3
},
{
"begin": 1142,
"end": 1213,
"name": "MSTORE",
"source": 3
},
{
"begin": 1046,
"end": 1219,
"name": "POP",
"source": 3
},
{
"begin": 1046,
"end": 1219,
"name": "POP",
"source": 3
},
{
"begin": 1046,
"end": 1219,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1225,
"end": 1343,
"name": "tag",
"source": 3,
"value": "40"
},
{
"begin": 1225,
"end": 1343,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1312,
"end": 1336,
"name": "PUSH [tag]",
"source": 3,
"value": "42"
},
{
"begin": 1330,
"end": 1335,
"name": "DUP2",
"source": 3
},
{
"begin": 1312,
"end": 1336,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 1312,
"end": 1336,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1312,
"end": 1336,
"name": "tag",
"source": 3,
"value": "42"
},
{
"begin": 1312,
"end": 1336,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1307,
"end": 1310,
"name": "DUP3",
"source": 3
},
{
"begin": 1300,
"end": 1337,
"name": "MSTORE",
"source": 3
},
{
"begin": 1225,
"end": 1343,
"name": "POP",
"source": 3
},
{
"begin": 1225,
"end": 1343,
"name": "POP",
"source": 3
},
{
"begin": 1225,
"end": 1343,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1349,
"end": 1791,
"name": "tag",
"source": 3,
"value": "14"
},
{
"begin": 1349,
"end": 1791,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1498,
"end": 1502,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1536,
"end": 1538,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 1525,
"end": 1534,
"name": "DUP3",
"source": 3
},
{
"begin": 1521,
"end": 1539,
"name": "ADD",
"source": 3
},
{
"begin": 1513,
"end": 1539,
"name": "SWAP1",
"source": 3
},
{
"begin": 1513,
"end": 1539,
"name": "POP",
"source": 3
},
{
"begin": 1549,
"end": 1620,
"name": "PUSH [tag]",
"source": 3,
"value": "45"
},
{
"begin": 1617,
"end": 1618,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1606,
"end": 1615,
"name": "DUP4",
"source": 3
},
{
"begin": 1602,
"end": 1619,
"name": "ADD",
"source": 3
},
{
"begin": 1593,
"end": 1599,
"name": "DUP7",
"source": 3
},
{
"begin": 1549,
"end": 1620,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 1549,
"end": 1620,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1549,
"end": 1620,
"name": "tag",
"source": 3,
"value": "45"
},
{
"begin": 1549,
"end": 1620,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1630,
"end": 1702,
"name": "PUSH [tag]",
"source": 3,
"value": "46"
},
{
"begin": 1698,
"end": 1700,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1687,
"end": 1696,
"name": "DUP4",
"source": 3
},
{
"begin": 1683,
"end": 1701,
"name": "ADD",
"source": 3
},
{
"begin": 1674,
"end": 1680,
"name": "DUP6",
"source": 3
},
{
"begin": 1630,
"end": 1702,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 1630,
"end": 1702,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1630,
"end": 1702,
"name": "tag",
"source": 3,
"value": "46"
},
{
"begin": 1630,
"end": 1702,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1712,
"end": 1784,
"name": "PUSH [tag]",
"source": 3,
"value": "47"
},
{
"begin": 1780,
"end": 1782,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1769,
"end": 1778,
"name": "DUP4",
"source": 3
},
{
"begin": 1765,
"end": 1783,
"name": "ADD",
"source": 3
},
{
"begin": 1756,
"end": 1762,
"name": "DUP5",
"source": 3
},
{
"begin": 1712,
"end": 1784,
"name": "PUSH [tag]",
"source": 3,
"value": "40"
},
{
"begin": 1712,
"end": 1784,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1712,
"end": 1784,
"name": "tag",
"source": 3,
"value": "47"
},
{
"begin": 1712,
"end": 1784,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "SWAP5",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "SWAP4",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "POP",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "POP",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "POP",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "POP",
"source": 3
},
{
"begin": 1349,
"end": 1791,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1797,
"end": 2061,
"name": "tag",
"source": 3,
"value": "9"
},
{
"begin": 1797,
"end": 2061,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1911,
"end": 1915,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1949,
"end": 1951,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1938,
"end": 1947,
"name": "DUP3",
"source": 3
},
{
"begin": 1934,
"end": 1952,
"name": "ADD",
"source": 3
},
{
"begin": 1926,
"end": 1952,
"name": "SWAP1",
"source": 3
},
{
"begin": 1926,
"end": 1952,
"name": "POP",
"source": 3
},
{
"begin": 1962,
"end": 2054,
"name": "PUSH [tag]",
"source": 3,
"value": "49"
},
{
"begin": 2051,
"end": 2052,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2040,
"end": 2049,
"name": "DUP4",
"source": 3
},
{
"begin": 2036,
"end": 2053,
"name": "ADD",
"source": 3
},
{
"begin": 2027,
"end": 2033,
"name": "DUP5",
"source": 3
},
{
"begin": 1962,
"end": 2054,
"name": "PUSH [tag]",
"source": 3,
"value": "36"
},
{
"begin": 1962,
"end": 2054,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1962,
"end": 2054,
"name": "tag",
"source": 3,
"value": "49"
},
{
"begin": 1962,
"end": 2054,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1797,
"end": 2061,
"name": "SWAP3",
"source": 3
},
{
"begin": 1797,
"end": 2061,
"name": "SWAP2",
"source": 3
},
{
"begin": 1797,
"end": 2061,
"name": "POP",
"source": 3
},
{
"begin": 1797,
"end": 2061,
"name": "POP",
"source": 3
},
{
"begin": 1797,
"end": 2061,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2148,
"end": 2244,
"name": "tag",
"source": 3,
"value": "35"
},
{
"begin": 2148,
"end": 2244,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2185,
"end": 2192,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2214,
"end": 2238,
"name": "PUSH [tag]",
"source": 3,
"value": "53"
},
{
"begin": 2232,
"end": 2237,
"name": "DUP3",
"source": 3
},
{
"begin": 2214,
"end": 2238,
"name": "PUSH [tag]",
"source": 3,
"value": "54"
},
{
"begin": 2214,
"end": 2238,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2214,
"end": 2238,
"name": "tag",
"source": 3,
"value": "53"
},
{
"begin": 2214,
"end": 2238,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2203,
"end": 2238,
"name": "SWAP1",
"source": 3
},
{
"begin": 2203,
"end": 2238,
"name": "POP",
"source": 3
},
{
"begin": 2148,
"end": 2244,
"name": "SWAP2",
"source": 3
},
{
"begin": 2148,
"end": 2244,
"name": "SWAP1",
"source": 3
},
{
"begin": 2148,
"end": 2244,
"name": "POP",
"source": 3
},
{
"begin": 2148,
"end": 2244,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2250,
"end": 2376,
"name": "tag",
"source": 3,
"value": "54"
},
{
"begin": 2250,
"end": 2376,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2287,
"end": 2294,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2327,
"end": 2369,
"name": "PUSH",
"source": 3,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2320,
"end": 2325,
"name": "DUP3",
"source": 3
},
{
"begin": 2316,
"end": 2370,
"name": "AND",
"source": 3
},
{
"begin": 2305,
"end": 2370,
"name": "SWAP1",
"source": 3
},
{
"begin": 2305,
"end": 2370,
"name": "POP",
"source": 3
},
{
"begin": 2250,
"end": 2376,
"name": "SWAP2",
"source": 3
},
{
"begin": 2250,
"end": 2376,
"name": "SWAP1",
"source": 3
},
{
"begin": 2250,
"end": 2376,
"name": "POP",
"source": 3
},
{
"begin": 2250,
"end": 2376,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2382,
"end": 2459,
"name": "tag",
"source": 3,
"value": "43"
},
{
"begin": 2382,
"end": 2459,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2419,
"end": 2426,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2448,
"end": 2453,
"name": "DUP2",
"source": 3
},
{
"begin": 2437,
"end": 2453,
"name": "SWAP1",
"source": 3
},
{
"begin": 2437,
"end": 2453,
"name": "POP",
"source": 3
},
{
"begin": 2382,
"end": 2459,
"name": "SWAP2",
"source": 3
},
{
"begin": 2382,
"end": 2459,
"name": "SWAP1",
"source": 3
},
{
"begin": 2382,
"end": 2459,
"name": "POP",
"source": 3
},
{
"begin": 2382,
"end": 2459,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2465,
"end": 2612,
"name": "tag",
"source": 3,
"value": "39"
},
{
"begin": 2465,
"end": 2612,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2536,
"end": 2545,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2569,
"end": 2606,
"name": "PUSH [tag]",
"source": 3,
"value": "58"
},
{
"begin": 2600,
"end": 2605,
"name": "DUP3",
"source": 3
},
{
"begin": 2569,
"end": 2606,
"name": "PUSH [tag]",
"source": 3,
"value": "59"
},
{
"begin": 2569,
"end": 2606,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2569,
"end": 2606,
"name": "tag",
"source": 3,
"value": "58"
},
{
"begin": 2569,
"end": 2606,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2556,
"end": 2606,
"name": "SWAP1",
"source": 3
},
{
"begin": 2556,
"end": 2606,
"name": "POP",
"source": 3
},
{
"begin": 2465,
"end": 2612,
"name": "SWAP2",
"source": 3
},
{
"begin": 2465,
"end": 2612,
"name": "SWAP1",
"source": 3
},
{
"begin": 2465,
"end": 2612,
"name": "POP",
"source": 3
},
{
"begin": 2465,
"end": 2612,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2618,
"end": 2744,
"name": "tag",
"source": 3,
"value": "59"
},
{
"begin": 2618,
"end": 2744,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2668,
"end": 2677,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2701,
"end": 2738,
"name": "PUSH [tag]",
"source": 3,
"value": "61"
},
{
"begin": 2732,
"end": 2737,
"name": "DUP3",
"source": 3
},
{
"begin": 2701,
"end": 2738,
"name": "PUSH [tag]",
"source": 3,
"value": "62"
},
{
"begin": 2701,
"end": 2738,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2701,
"end": 2738,
"name": "tag",
"source": 3,
"value": "61"
},
{
"begin": 2701,
"end": 2738,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2688,
"end": 2738,
"name": "SWAP1",
"source": 3
},
{
"begin": 2688,
"end": 2738,
"name": "POP",
"source": 3
},
{
"begin": 2618,
"end": 2744,
"name": "SWAP2",
"source": 3
},
{
"begin": 2618,
"end": 2744,
"name": "SWAP1",
"source": 3
},
{
"begin": 2618,
"end": 2744,
"name": "POP",
"source": 3
},
{
"begin": 2618,
"end": 2744,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2750,
"end": 2863,
"name": "tag",
"source": 3,
"value": "62"
},
{
"begin": 2750,
"end": 2863,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2800,
"end": 2809,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2833,
"end": 2857,
"name": "PUSH [tag]",
"source": 3,
"value": "64"
},
{
"begin": 2851,
"end": 2856,
"name": "DUP3",
"source": 3
},
{
"begin": 2833,
"end": 2857,
"name": "PUSH [tag]",
"source": 3,
"value": "54"
},
{
"begin": 2833,
"end": 2857,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2833,
"end": 2857,
"name": "tag",
"source": 3,
"value": "64"
},
{
"begin": 2833,
"end": 2857,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2820,
"end": 2857,
"name": "SWAP1",
"source": 3
},
{
"begin": 2820,
"end": 2857,
"name": "POP",
"source": 3
},
{
"begin": 2750,
"end": 2863,
"name": "SWAP2",
"source": 3
},
{
"begin": 2750,
"end": 2863,
"name": "SWAP1",
"source": 3
},
{
"begin": 2750,
"end": 2863,
"name": "POP",
"source": 3
},
{
"begin": 2750,
"end": 2863,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2992,
"end": 3109,
"name": "tag",
"source": 3,
"value": "28"
},
{
"begin": 2992,
"end": 3109,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3101,
"end": 3102,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 3098,
"end": 3099,
"name": "DUP1",
"source": 3
},
{
"begin": 3091,
"end": 3103,
"name": "REVERT",
"source": 3
},
{
"begin": 3115,
"end": 3237,
"name": "tag",
"source": 3,
"value": "20"
},
{
"begin": 3115,
"end": 3237,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3188,
"end": 3212,
"name": "PUSH [tag]",
"source": 3,
"value": "69"
},
{
"begin": 3206,
"end": 3211,
"name": "DUP2",
"source": 3
},
{
"begin": 3188,
"end": 3212,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 3188,
"end": 3212,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 3188,
"end": 3212,
"name": "tag",
"source": 3,
"value": "69"
},
{
"begin": 3188,
"end": 3212,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3181,
"end": 3186,
"name": "DUP2",
"source": 3
},
{
"begin": 3178,
"end": 3213,
"name": "EQ",
"source": 3
},
{
"begin": 3168,
"end": 3231,
"name": "PUSH [tag]",
"source": 3,
"value": "70"
},
{
"begin": 3168,
"end": 3231,
"name": "JUMPI",
"source": 3
},
{
"begin": 3227,
"end": 3228,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 3224,
"end": 3225,
"name": "DUP1",
"source": 3
},
{
"begin": 3217,
"end": 3229,
"name": "REVERT",
"source": 3
},
{
"begin": 3168,
"end": 3231,
"name": "tag",
"source": 3,
"value": "70"
},
{
"begin": 3168,
"end": 3231,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3115,
"end": 3237,
"name": "POP",
"source": 3
},
{
"begin": 3115,
"end": 3237,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 3243,
"end": 3365,
"name": "tag",
"source": 3,
"value": "24"
},
{
"begin": 3243,
"end": 3365,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3316,
"end": 3340,
"name": "PUSH [tag]",
"source": 3,
"value": "72"
},
{
"begin": 3334,
"end": 3339,
"name": "DUP2",
"source": 3
},
{
"begin": 3316,
"end": 3340,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 3316,
"end": 3340,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 3316,
"end": 3340,
"name": "tag",
"source": 3,
"value": "72"
},
{
"begin": 3316,
"end": 3340,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3309,
"end": 3314,
"name": "DUP2",
"source": 3
},
{
"begin": 3306,
"end": 3341,
"name": "EQ",
"source": 3
},
{
"begin": 3296,
"end": 3359,
"name": "PUSH [tag]",
"source": 3,
"value": "73"
},
{
"begin": 3296,
"end": 3359,
"name": "JUMPI",
"source": 3
},
{
"begin": 3355,
"end": 3356,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 3352,
"end": 3353,
"name": "DUP1",
"source": 3
},
{
"begin": 3345,
"end": 3357,
"name": "REVERT",
"source": 3
},
{
"begin": 3296,
"end": 3359,
"name": "tag",
"source": 3,
"value": "73"
},
{
"begin": 3296,
"end": 3359,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 3243,
"end": 3365,
"name": "POP",
"source": 3
},
{
"begin": 3243,
"end": 3365,
"name": "JUMP",
"source": 3,
"value": "[out]"
}
],
".data": {
"0": {
".code": [
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 114,
"end": 1156,
"name": "MSTORE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ISZERO",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 202,
"end": 615,
"name": "JUMPI",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "REVERT",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 202,
"end": 615,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 202,
"end": 615,
"name": "MLOAD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSHSIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CODESIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SUB",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSHSIZE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP4",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "CODECOPY",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ADD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 202,
"end": 615,
"name": "MSTORE",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "DUP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "ADD",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SWAP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "2"
},
{
"begin": 202,
"end": 615,
"name": "SWAP2",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "SWAP1",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "PUSH [tag]",
"source": 2,
"value": "3"
},
{
"begin": 202,
"end": 615,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 202,
"end": 615,
"name": "tag",
"source": 2,
"value": "2"
},
{
"begin": 202,
"end": 615,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 318,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 315,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 299,
"end": 315,
"name": "DUP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 299,
"end": 330,
"name": "EXP",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SLOAD",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP2",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 299,
"end": 330,
"name": "MUL",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "NOT",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "AND",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SWAP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "DUP4",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 299,
"end": 330,
"name": "AND",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "MUL",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "OR",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SWAP1",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "SSTORE",
"source": 2
},
{
"begin": 299,
"end": 330,
"name": "POP",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 358,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP1",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "60"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP1",
"source": 2
},
{
"begin": 399,
"end": 409,
"name": "CALLER",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 358,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 443,
"end": 453,
"name": "DUP5",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 358,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 358,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 477,
"end": 498,
"name": "DUP3",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "MSTORE",
"source": 2
},
{
"begin": 358,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 355,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 341,
"end": 510,
"name": "EXP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "NOT",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP4",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "OR",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 341,
"end": 510,
"name": "EXP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "NOT",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP4",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 341,
"end": 510,
"name": "AND",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MUL",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "OR",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 341,
"end": 510,
"name": "DUP3",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "MLOAD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "DUP2",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 341,
"end": 510,
"name": "ADD",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SSTORE",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "SWAP1",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 341,
"end": 510,
"name": "POP",
"source": 2
},
{
"begin": 529,
"end": 539,
"name": "DUP3",
"source": 2
},
{
"begin": 521,
"end": 557,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 521,
"end": 557,
"name": "AND",
"source": 2
},
{
"begin": 521,
"end": 557,
"name": "PUSH",
"source": 2,
"value": "42842E0E"
},
{
"begin": 558,
"end": 568,
"name": "CALLER",
"source": 2
},
{
"begin": 578,
"end": 582,
"name": "ADDRESS",
"source": 2
},
{
"begin": 585,
"end": 606,
"name": "DUP5",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 521,
"end": 607,
"name": "MLOAD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP5",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFF"
},
{
"begin": 521,
"end": 607,
"name": "AND",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "E0"
},
{
"begin": 521,
"end": 607,
"name": "SHL",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "MSTORE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 521,
"end": 607,
"name": "ADD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "6"
},
{
"begin": 521,
"end": 607,
"name": "SWAP4",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP3",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SWAP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "7"
},
{
"begin": 521,
"end": 607,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "6"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 521,
"end": 607,
"name": "MLOAD",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP4",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "SUB",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP2",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP8",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "EXTCODESIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "8"
},
{
"begin": 521,
"end": 607,
"name": "JUMPI",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "REVERT",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "8"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "GAS",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "CALL",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "ISZERO",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH [tag]",
"source": 2,
"value": "10"
},
{
"begin": 521,
"end": 607,
"name": "JUMPI",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "DUP1",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATACOPY",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "RETURNDATASIZE",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 521,
"end": 607,
"name": "REVERT",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "tag",
"source": 2,
"value": "10"
},
{
"begin": 521,
"end": 607,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 521,
"end": 607,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 202,
"end": 615,
"name": "POP",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "11"
},
{
"begin": 114,
"end": 1156,
"name": "JUMP",
"source": 2
},
{
"begin": 7,
"end": 150,
"name": "tag",
"source": 3,
"value": "13"
},
{
"begin": 7,
"end": 150,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 64,
"end": 69,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 95,
"end": 101,
"name": "DUP2",
"source": 3
},
{
"begin": 89,
"end": 102,
"name": "MLOAD",
"source": 3
},
{
"begin": 80,
"end": 102,
"name": "SWAP1",
"source": 3
},
{
"begin": 80,
"end": 102,
"name": "POP",
"source": 3
},
{
"begin": 111,
"end": 144,
"name": "PUSH [tag]",
"source": 3,
"value": "15"
},
{
"begin": 138,
"end": 143,
"name": "DUP2",
"source": 3
},
{
"begin": 111,
"end": 144,
"name": "PUSH [tag]",
"source": 3,
"value": "16"
},
{
"begin": 111,
"end": 144,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 111,
"end": 144,
"name": "tag",
"source": 3,
"value": "15"
},
{
"begin": 111,
"end": 144,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "SWAP3",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "SWAP2",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 150,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 156,
"end": 299,
"name": "tag",
"source": 3,
"value": "17"
},
{
"begin": 156,
"end": 299,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 213,
"end": 218,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 244,
"end": 250,
"name": "DUP2",
"source": 3
},
{
"begin": 238,
"end": 251,
"name": "MLOAD",
"source": 3
},
{
"begin": 229,
"end": 251,
"name": "SWAP1",
"source": 3
},
{
"begin": 229,
"end": 251,
"name": "POP",
"source": 3
},
{
"begin": 260,
"end": 293,
"name": "PUSH [tag]",
"source": 3,
"value": "19"
},
{
"begin": 287,
"end": 292,
"name": "DUP2",
"source": 3
},
{
"begin": 260,
"end": 293,
"name": "PUSH [tag]",
"source": 3,
"value": "20"
},
{
"begin": 260,
"end": 293,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 260,
"end": 293,
"name": "tag",
"source": 3,
"value": "19"
},
{
"begin": 260,
"end": 293,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "SWAP3",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "SWAP2",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "POP",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "POP",
"source": 3
},
{
"begin": 156,
"end": 299,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 305,
"end": 968,
"name": "tag",
"source": 3,
"value": "3"
},
{
"begin": 305,
"end": 968,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 393,
"end": 399,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 401,
"end": 407,
"name": "DUP1",
"source": 3
},
{
"begin": 409,
"end": 415,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 458,
"end": 460,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 446,
"end": 455,
"name": "DUP5",
"source": 3
},
{
"begin": 437,
"end": 444,
"name": "DUP7",
"source": 3
},
{
"begin": 433,
"end": 456,
"name": "SUB",
"source": 3
},
{
"begin": 429,
"end": 461,
"name": "SLT",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "ISZERO",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "PUSH [tag]",
"source": 3,
"value": "22"
},
{
"begin": 426,
"end": 545,
"name": "JUMPI",
"source": 3
},
{
"begin": 464,
"end": 543,
"name": "PUSH [tag]",
"source": 3,
"value": "23"
},
{
"begin": 464,
"end": 543,
"name": "PUSH [tag]",
"source": 3,
"value": "24"
},
{
"begin": 464,
"end": 543,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 464,
"end": 543,
"name": "tag",
"source": 3,
"value": "23"
},
{
"begin": 464,
"end": 543,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 426,
"end": 545,
"name": "tag",
"source": 3,
"value": "22"
},
{
"begin": 426,
"end": 545,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 584,
"end": 585,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 609,
"end": 673,
"name": "PUSH [tag]",
"source": 3,
"value": "25"
},
{
"begin": 665,
"end": 672,
"name": "DUP7",
"source": 3
},
{
"begin": 656,
"end": 662,
"name": "DUP3",
"source": 3
},
{
"begin": 645,
"end": 654,
"name": "DUP8",
"source": 3
},
{
"begin": 641,
"end": 663,
"name": "ADD",
"source": 3
},
{
"begin": 609,
"end": 673,
"name": "PUSH [tag]",
"source": 3,
"value": "13"
},
{
"begin": 609,
"end": 673,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 609,
"end": 673,
"name": "tag",
"source": 3,
"value": "25"
},
{
"begin": 609,
"end": 673,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 599,
"end": 673,
"name": "SWAP4",
"source": 3
},
{
"begin": 599,
"end": 673,
"name": "POP",
"source": 3
},
{
"begin": 555,
"end": 683,
"name": "POP",
"source": 3
},
{
"begin": 722,
"end": 724,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 748,
"end": 812,
"name": "PUSH [tag]",
"source": 3,
"value": "26"
},
{
"begin": 804,
"end": 811,
"name": "DUP7",
"source": 3
},
{
"begin": 795,
"end": 801,
"name": "DUP3",
"source": 3
},
{
"begin": 784,
"end": 793,
"name": "DUP8",
"source": 3
},
{
"begin": 780,
"end": 802,
"name": "ADD",
"source": 3
},
{
"begin": 748,
"end": 812,
"name": "PUSH [tag]",
"source": 3,
"value": "13"
},
{
"begin": 748,
"end": 812,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 748,
"end": 812,
"name": "tag",
"source": 3,
"value": "26"
},
{
"begin": 748,
"end": 812,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 738,
"end": 812,
"name": "SWAP3",
"source": 3
},
{
"begin": 738,
"end": 812,
"name": "POP",
"source": 3
},
{
"begin": 693,
"end": 822,
"name": "POP",
"source": 3
},
{
"begin": 861,
"end": 863,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 887,
"end": 951,
"name": "PUSH [tag]",
"source": 3,
"value": "27"
},
{
"begin": 943,
"end": 950,
"name": "DUP7",
"source": 3
},
{
"begin": 934,
"end": 940,
"name": "DUP3",
"source": 3
},
{
"begin": 923,
"end": 932,
"name": "DUP8",
"source": 3
},
{
"begin": 919,
"end": 941,
"name": "ADD",
"source": 3
},
{
"begin": 887,
"end": 951,
"name": "PUSH [tag]",
"source": 3,
"value": "17"
},
{
"begin": 887,
"end": 951,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 887,
"end": 951,
"name": "tag",
"source": 3,
"value": "27"
},
{
"begin": 887,
"end": 951,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 877,
"end": 951,
"name": "SWAP2",
"source": 3
},
{
"begin": 877,
"end": 951,
"name": "POP",
"source": 3
},
{
"begin": 832,
"end": 961,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "POP",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "SWAP3",
"source": 3
},
{
"begin": 305,
"end": 968,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 974,
"end": 1092,
"name": "tag",
"source": 3,
"value": "28"
},
{
"begin": 974,
"end": 1092,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1061,
"end": 1085,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1079,
"end": 1084,
"name": "DUP2",
"source": 3
},
{
"begin": 1061,
"end": 1085,
"name": "PUSH [tag]",
"source": 3,
"value": "31"
},
{
"begin": 1061,
"end": 1085,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1061,
"end": 1085,
"name": "tag",
"source": 3,
"value": "30"
},
{
"begin": 1061,
"end": 1085,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1056,
"end": 1059,
"name": "DUP3",
"source": 3
},
{
"begin": 1049,
"end": 1086,
"name": "MSTORE",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "POP",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "POP",
"source": 3
},
{
"begin": 974,
"end": 1092,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1098,
"end": 1216,
"name": "tag",
"source": 3,
"value": "32"
},
{
"begin": 1098,
"end": 1216,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1185,
"end": 1209,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1203,
"end": 1208,
"name": "DUP2",
"source": 3
},
{
"begin": 1185,
"end": 1209,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 1185,
"end": 1209,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1185,
"end": 1209,
"name": "tag",
"source": 3,
"value": "34"
},
{
"begin": 1185,
"end": 1209,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1180,
"end": 1183,
"name": "DUP3",
"source": 3
},
{
"begin": 1173,
"end": 1210,
"name": "MSTORE",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "POP",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "POP",
"source": 3
},
{
"begin": 1098,
"end": 1216,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1222,
"end": 1664,
"name": "tag",
"source": 3,
"value": "7"
},
{
"begin": 1222,
"end": 1664,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1371,
"end": 1375,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1409,
"end": 1411,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 1398,
"end": 1407,
"name": "DUP3",
"source": 3
},
{
"begin": 1394,
"end": 1412,
"name": "ADD",
"source": 3
},
{
"begin": 1386,
"end": 1412,
"name": "SWAP1",
"source": 3
},
{
"begin": 1386,
"end": 1412,
"name": "POP",
"source": 3
},
{
"begin": 1422,
"end": 1493,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 1490,
"end": 1491,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1479,
"end": 1488,
"name": "DUP4",
"source": 3
},
{
"begin": 1475,
"end": 1492,
"name": "ADD",
"source": 3
},
{
"begin": 1466,
"end": 1472,
"name": "DUP7",
"source": 3
},
{
"begin": 1422,
"end": 1493,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 1422,
"end": 1493,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1422,
"end": 1493,
"name": "tag",
"source": 3,
"value": "37"
},
{
"begin": 1422,
"end": 1493,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1503,
"end": 1575,
"name": "PUSH [tag]",
"source": 3,
"value": "38"
},
{
"begin": 1571,
"end": 1573,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1560,
"end": 1569,
"name": "DUP4",
"source": 3
},
{
"begin": 1556,
"end": 1574,
"name": "ADD",
"source": 3
},
{
"begin": 1547,
"end": 1553,
"name": "DUP6",
"source": 3
},
{
"begin": 1503,
"end": 1575,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 1503,
"end": 1575,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1503,
"end": 1575,
"name": "tag",
"source": 3,
"value": "38"
},
{
"begin": 1503,
"end": 1575,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1585,
"end": 1657,
"name": "PUSH [tag]",
"source": 3,
"value": "39"
},
{
"begin": 1653,
"end": 1655,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1642,
"end": 1651,
"name": "DUP4",
"source": 3
},
{
"begin": 1638,
"end": 1656,
"name": "ADD",
"source": 3
},
{
"begin": 1629,
"end": 1635,
"name": "DUP5",
"source": 3
},
{
"begin": 1585,
"end": 1657,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 1585,
"end": 1657,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1585,
"end": 1657,
"name": "tag",
"source": 3,
"value": "39"
},
{
"begin": 1585,
"end": 1657,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "SWAP5",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "SWAP4",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "POP",
"source": 3
},
{
"begin": 1222,
"end": 1664,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1751,
"end": 1847,
"name": "tag",
"source": 3,
"value": "31"
},
{
"begin": 1751,
"end": 1847,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1788,
"end": 1795,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1817,
"end": 1841,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 1835,
"end": 1840,
"name": "DUP3",
"source": 3
},
{
"begin": 1817,
"end": 1841,
"name": "PUSH [tag]",
"source": 3,
"value": "44"
},
{
"begin": 1817,
"end": 1841,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1817,
"end": 1841,
"name": "tag",
"source": 3,
"value": "43"
},
{
"begin": 1817,
"end": 1841,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1806,
"end": 1841,
"name": "SWAP1",
"source": 3
},
{
"begin": 1806,
"end": 1841,
"name": "POP",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "SWAP2",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "SWAP1",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "POP",
"source": 3
},
{
"begin": 1751,
"end": 1847,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1853,
"end": 1979,
"name": "tag",
"source": 3,
"value": "44"
},
{
"begin": 1853,
"end": 1979,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1890,
"end": 1897,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1930,
"end": 1972,
"name": "PUSH",
"source": 3,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1923,
"end": 1928,
"name": "DUP3",
"source": 3
},
{
"begin": 1919,
"end": 1973,
"name": "AND",
"source": 3
},
{
"begin": 1908,
"end": 1973,
"name": "SWAP1",
"source": 3
},
{
"begin": 1908,
"end": 1973,
"name": "POP",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "SWAP2",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "SWAP1",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "POP",
"source": 3
},
{
"begin": 1853,
"end": 1979,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1985,
"end": 2062,
"name": "tag",
"source": 3,
"value": "35"
},
{
"begin": 1985,
"end": 2062,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2022,
"end": 2029,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2051,
"end": 2056,
"name": "DUP2",
"source": 3
},
{
"begin": 2040,
"end": 2056,
"name": "SWAP1",
"source": 3
},
{
"begin": 2040,
"end": 2056,
"name": "POP",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "SWAP2",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "SWAP1",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "POP",
"source": 3
},
{
"begin": 1985,
"end": 2062,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2191,
"end": 2308,
"name": "tag",
"source": 3,
"value": "24"
},
{
"begin": 2191,
"end": 2308,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2300,
"end": 2301,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2297,
"end": 2298,
"name": "DUP1",
"source": 3
},
{
"begin": 2290,
"end": 2302,
"name": "REVERT",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "tag",
"source": 3,
"value": "16"
},
{
"begin": 2314,
"end": 2436,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2387,
"end": 2411,
"name": "PUSH [tag]",
"source": 3,
"value": "51"
},
{
"begin": 2405,
"end": 2410,
"name": "DUP2",
"source": 3
},
{
"begin": 2387,
"end": 2411,
"name": "PUSH [tag]",
"source": 3,
"value": "31"
},
{
"begin": 2387,
"end": 2411,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2387,
"end": 2411,
"name": "tag",
"source": 3,
"value": "51"
},
{
"begin": 2387,
"end": 2411,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2380,
"end": 2385,
"name": "DUP2",
"source": 3
},
{
"begin": 2377,
"end": 2412,
"name": "EQ",
"source": 3
},
{
"begin": 2367,
"end": 2430,
"name": "PUSH [tag]",
"source": 3,
"value": "52"
},
{
"begin": 2367,
"end": 2430,
"name": "JUMPI",
"source": 3
},
{
"begin": 2426,
"end": 2427,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2423,
"end": 2424,
"name": "DUP1",
"source": 3
},
{
"begin": 2416,
"end": 2428,
"name": "REVERT",
"source": 3
},
{
"begin": 2367,
"end": 2430,
"name": "tag",
"source": 3,
"value": "52"
},
{
"begin": 2367,
"end": 2430,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "POP",
"source": 3
},
{
"begin": 2314,
"end": 2436,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2442,
"end": 2564,
"name": "tag",
"source": 3,
"value": "20"
},
{
"begin": 2442,
"end": 2564,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2515,
"end": 2539,
"name": "PUSH [tag]",
"source": 3,
"value": "54"
},
{
"begin": 2533,
"end": 2538,
"name": "DUP2",
"source": 3
},
{
"begin": 2515,
"end": 2539,
"name": "PUSH [tag]",
"source": 3,
"value": "35"
},
{
"begin": 2515,
"end": 2539,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2515,
"end": 2539,
"name": "tag",
"source": 3,
"value": "54"
},
{
"begin": 2515,
"end": 2539,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2508,
"end": 2513,
"name": "DUP2",
"source": 3
},
{
"begin": 2505,
"end": 2540,
"name": "EQ",
"source": 3
},
{
"begin": 2495,
"end": 2558,
"name": "PUSH [tag]",
"source": 3,
"value": "55"
},
{
"begin": 2495,
"end": 2558,
"name": "JUMPI",
"source": 3
},
{
"begin": 2554,
"end": 2555,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2551,
"end": 2552,
"name": "DUP1",
"source": 3
},
{
"begin": 2544,
"end": 2556,
"name": "REVERT",
"source": 3
},
{
"begin": 2495,
"end": 2558,
"name": "tag",
"source": 3,
"value": "55"
},
{
"begin": 2495,
"end": 2558,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2442,
"end": 2564,
"name": "POP",
"source": 3
},
{
"begin": 2442,
"end": 2564,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "11"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH #[$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [$]",
"source": 2,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "CODECOPY",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "RETURN",
"source": 2
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220c20b1e7fd9992f859f4d4b56a2c438446fdb412b15806b0d287bb640e565e88464736f6c63430008070033",
".code": [
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "80"
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 114,
"end": 1156,
"name": "MSTORE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "CALLVALUE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "ISZERO",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "1"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "REVERT",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "1"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "POP",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 114,
"end": 1156,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "LT",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "2"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "E0"
},
{
"begin": 114,
"end": 1156,
"name": "SHR",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "B5C1179B"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "3"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "B6B55F25"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "4"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "E958FF26"
},
{
"begin": 114,
"end": 1156,
"name": "EQ",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH [tag]",
"source": 2,
"value": "5"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPI",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "tag",
"source": 2,
"value": "2"
},
{
"begin": 114,
"end": 1156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 114,
"end": 1156,
"name": "DUP1",
"source": 2
},
{
"begin": 114,
"end": 1156,
"name": "REVERT",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "3"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "6"
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "7"
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "6"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 784,
"end": 824,
"name": "MLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "8"
},
{
"begin": 784,
"end": 824,
"name": "SWAP4",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP3",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP2",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH [tag]",
"source": 2,
"value": "9"
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "8"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 784,
"end": 824,
"name": "MLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP2",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SUB",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "RETURN",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "4"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "10"
},
{
"begin": 881,
"end": 1151,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 881,
"end": 1151,
"name": "DUP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "CALLDATASIZE",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SUB",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "DUP2",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "ADD",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SWAP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "11"
},
{
"begin": 881,
"end": 1151,
"name": "SWAP2",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "SWAP1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "12"
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "11"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "PUSH [tag]",
"source": 2,
"value": "13"
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "10"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "STOP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "5"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "14"
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "15"
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "14"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 831,
"end": 872,
"name": "MLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 831,
"end": 872,
"name": "SWAP4",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP3",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP2",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH [tag]",
"source": 2,
"value": "9"
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "16"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 831,
"end": 872,
"name": "MLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP2",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SUB",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "RETURN",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "tag",
"source": 2,
"value": "7"
},
{
"begin": 784,
"end": 824,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 784,
"end": 824,
"name": "EXP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DIV",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 784,
"end": 824,
"name": "AND",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 784,
"end": 824,
"name": "EXP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DIV",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 784,
"end": 824,
"name": "AND",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 784,
"end": 824,
"name": "ADD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SLOAD",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "SWAP1",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "POP",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "DUP4",
"source": 2
},
{
"begin": 784,
"end": 824,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 881,
"end": 1151,
"name": "tag",
"source": 2,
"value": "13"
},
{
"begin": 881,
"end": 1151,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 955,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP1",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "60"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP1",
"source": 2
},
{
"begin": 996,
"end": 1006,
"name": "CALLER",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 955,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1040,
"end": 1056,
"name": "DUP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SLOAD",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SWAP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 1040,
"end": 1056,
"name": "EXP",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "SWAP1",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "DIV",
"source": 2
},
{
"begin": 1040,
"end": 1056,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1040,
"end": 1056,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 955,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 955,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 1080,
"end": 1087,
"name": "DUP3",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "MSTORE",
"source": 2
},
{
"begin": 955,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 952,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 937,
"end": 1099,
"name": "EXP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "NOT",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP4",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "OR",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 937,
"end": 1099,
"name": "EXP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "NOT",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP4",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 937,
"end": 1099,
"name": "AND",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MUL",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "OR",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 937,
"end": 1099,
"name": "DUP3",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "MLOAD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "DUP2",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 937,
"end": 1099,
"name": "ADD",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SSTORE",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "SWAP1",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 937,
"end": 1099,
"name": "POP",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "E1FFFCC4923D04B559F4D29A8BFC6CDA04EB5B0D3C460751C2402C5C5CC9109C"
},
{
"begin": 1123,
"end": 1133,
"name": "CALLER",
"source": 2
},
{
"begin": 1135,
"end": 1142,
"name": "DUP3",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1115,
"end": 1143,
"name": "MLOAD",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH [tag]",
"source": 2,
"value": "18"
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP3",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP2",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH [tag]",
"source": 2,
"value": "19"
},
{
"begin": 1115,
"end": 1143,
"name": "JUMP",
"source": 2,
"value": "[in]"
},
{
"begin": 1115,
"end": 1143,
"name": "tag",
"source": 2,
"value": "18"
},
{
"begin": 1115,
"end": 1143,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 1115,
"end": 1143,
"name": "MLOAD",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "DUP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP2",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SUB",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "SWAP1",
"source": 2
},
{
"begin": 1115,
"end": 1143,
"name": "LOG1",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "POP",
"source": 2
},
{
"begin": 881,
"end": 1151,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 831,
"end": 872,
"name": "tag",
"source": 2,
"value": "15"
},
{
"begin": 831,
"end": 872,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 831,
"end": 872,
"name": "EXP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DIV",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 831,
"end": 872,
"name": "AND",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "1"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "100"
},
{
"begin": 831,
"end": 872,
"name": "EXP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DIV",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 831,
"end": 872,
"name": "AND",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "PUSH",
"source": 2,
"value": "2"
},
{
"begin": 831,
"end": 872,
"name": "ADD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SLOAD",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "SWAP1",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "POP",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "DUP4",
"source": 2
},
{
"begin": 831,
"end": 872,
"name": "JUMP",
"source": 2,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 3,
"value": "21"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 53,
"end": 58,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 3
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 3
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "23"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 3
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 3,
"value": "24"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 3,
"value": "23"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP3",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "SWAP2",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 3
},
{
"begin": 7,
"end": 146,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 152,
"end": 481,
"name": "tag",
"source": 3,
"value": "12"
},
{
"begin": 152,
"end": 481,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 211,
"end": 217,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 260,
"end": 262,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 248,
"end": 257,
"name": "DUP3",
"source": 3
},
{
"begin": 239,
"end": 246,
"name": "DUP5",
"source": 3
},
{
"begin": 235,
"end": 258,
"name": "SUB",
"source": 3
},
{
"begin": 231,
"end": 263,
"name": "SLT",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "ISZERO",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "PUSH [tag]",
"source": 3,
"value": "26"
},
{
"begin": 228,
"end": 347,
"name": "JUMPI",
"source": 3
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 3,
"value": "27"
},
{
"begin": 266,
"end": 345,
"name": "PUSH [tag]",
"source": 3,
"value": "28"
},
{
"begin": 266,
"end": 345,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 266,
"end": 345,
"name": "tag",
"source": 3,
"value": "27"
},
{
"begin": 266,
"end": 345,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 228,
"end": 347,
"name": "tag",
"source": 3,
"value": "26"
},
{
"begin": 228,
"end": 347,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 386,
"end": 387,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 3,
"value": "29"
},
{
"begin": 456,
"end": 463,
"name": "DUP5",
"source": 3
},
{
"begin": 447,
"end": 453,
"name": "DUP3",
"source": 3
},
{
"begin": 436,
"end": 445,
"name": "DUP6",
"source": 3
},
{
"begin": 432,
"end": 454,
"name": "ADD",
"source": 3
},
{
"begin": 411,
"end": 464,
"name": "PUSH [tag]",
"source": 3,
"value": "21"
},
{
"begin": 411,
"end": 464,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 411,
"end": 464,
"name": "tag",
"source": 3,
"value": "29"
},
{
"begin": 411,
"end": 464,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 401,
"end": 464,
"name": "SWAP2",
"source": 3
},
{
"begin": 401,
"end": 464,
"name": "POP",
"source": 3
},
{
"begin": 357,
"end": 474,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "SWAP3",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "SWAP2",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "POP",
"source": 3
},
{
"begin": 152,
"end": 481,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 487,
"end": 605,
"name": "tag",
"source": 3,
"value": "30"
},
{
"begin": 487,
"end": 605,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 3,
"value": "32"
},
{
"begin": 592,
"end": 597,
"name": "DUP2",
"source": 3
},
{
"begin": 574,
"end": 598,
"name": "PUSH [tag]",
"source": 3,
"value": "33"
},
{
"begin": 574,
"end": 598,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 574,
"end": 598,
"name": "tag",
"source": 3,
"value": "32"
},
{
"begin": 574,
"end": 598,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 569,
"end": 572,
"name": "DUP3",
"source": 3
},
{
"begin": 562,
"end": 599,
"name": "MSTORE",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "POP",
"source": 3
},
{
"begin": 487,
"end": 605,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 611,
"end": 729,
"name": "tag",
"source": 3,
"value": "34"
},
{
"begin": 611,
"end": 729,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 698,
"end": 722,
"name": "PUSH [tag]",
"source": 3,
"value": "36"
},
{
"begin": 716,
"end": 721,
"name": "DUP2",
"source": 3
},
{
"begin": 698,
"end": 722,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 698,
"end": 722,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 698,
"end": 722,
"name": "tag",
"source": 3,
"value": "36"
},
{
"begin": 698,
"end": 722,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 693,
"end": 696,
"name": "DUP3",
"source": 3
},
{
"begin": 686,
"end": 723,
"name": "MSTORE",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "POP",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "POP",
"source": 3
},
{
"begin": 611,
"end": 729,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 735,
"end": 1177,
"name": "tag",
"source": 3,
"value": "9"
},
{
"begin": 735,
"end": 1177,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 884,
"end": 888,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 922,
"end": 924,
"name": "PUSH",
"source": 3,
"value": "60"
},
{
"begin": 911,
"end": 920,
"name": "DUP3",
"source": 3
},
{
"begin": 907,
"end": 925,
"name": "ADD",
"source": 3
},
{
"begin": 899,
"end": 925,
"name": "SWAP1",
"source": 3
},
{
"begin": 899,
"end": 925,
"name": "POP",
"source": 3
},
{
"begin": 935,
"end": 1006,
"name": "PUSH [tag]",
"source": 3,
"value": "39"
},
{
"begin": 1003,
"end": 1004,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 992,
"end": 1001,
"name": "DUP4",
"source": 3
},
{
"begin": 988,
"end": 1005,
"name": "ADD",
"source": 3
},
{
"begin": 979,
"end": 985,
"name": "DUP7",
"source": 3
},
{
"begin": 935,
"end": 1006,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 935,
"end": 1006,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 935,
"end": 1006,
"name": "tag",
"source": 3,
"value": "39"
},
{
"begin": 935,
"end": 1006,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1016,
"end": 1088,
"name": "PUSH [tag]",
"source": 3,
"value": "40"
},
{
"begin": 1084,
"end": 1086,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1073,
"end": 1082,
"name": "DUP4",
"source": 3
},
{
"begin": 1069,
"end": 1087,
"name": "ADD",
"source": 3
},
{
"begin": 1060,
"end": 1066,
"name": "DUP6",
"source": 3
},
{
"begin": 1016,
"end": 1088,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1016,
"end": 1088,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1016,
"end": 1088,
"name": "tag",
"source": 3,
"value": "40"
},
{
"begin": 1016,
"end": 1088,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1098,
"end": 1170,
"name": "PUSH [tag]",
"source": 3,
"value": "41"
},
{
"begin": 1166,
"end": 1168,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1155,
"end": 1164,
"name": "DUP4",
"source": 3
},
{
"begin": 1151,
"end": 1169,
"name": "ADD",
"source": 3
},
{
"begin": 1142,
"end": 1148,
"name": "DUP5",
"source": 3
},
{
"begin": 1098,
"end": 1170,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1098,
"end": 1170,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1098,
"end": 1170,
"name": "tag",
"source": 3,
"value": "41"
},
{
"begin": 1098,
"end": 1170,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "SWAP5",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "SWAP4",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "POP",
"source": 3
},
{
"begin": 735,
"end": 1177,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1183,
"end": 1515,
"name": "tag",
"source": 3,
"value": "19"
},
{
"begin": 1183,
"end": 1515,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1304,
"end": 1308,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1342,
"end": 1344,
"name": "PUSH",
"source": 3,
"value": "40"
},
{
"begin": 1331,
"end": 1340,
"name": "DUP3",
"source": 3
},
{
"begin": 1327,
"end": 1345,
"name": "ADD",
"source": 3
},
{
"begin": 1319,
"end": 1345,
"name": "SWAP1",
"source": 3
},
{
"begin": 1319,
"end": 1345,
"name": "POP",
"source": 3
},
{
"begin": 1355,
"end": 1426,
"name": "PUSH [tag]",
"source": 3,
"value": "43"
},
{
"begin": 1423,
"end": 1424,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1412,
"end": 1421,
"name": "DUP4",
"source": 3
},
{
"begin": 1408,
"end": 1425,
"name": "ADD",
"source": 3
},
{
"begin": 1399,
"end": 1405,
"name": "DUP6",
"source": 3
},
{
"begin": 1355,
"end": 1426,
"name": "PUSH [tag]",
"source": 3,
"value": "30"
},
{
"begin": 1355,
"end": 1426,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1355,
"end": 1426,
"name": "tag",
"source": 3,
"value": "43"
},
{
"begin": 1355,
"end": 1426,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1436,
"end": 1508,
"name": "PUSH [tag]",
"source": 3,
"value": "44"
},
{
"begin": 1504,
"end": 1506,
"name": "PUSH",
"source": 3,
"value": "20"
},
{
"begin": 1493,
"end": 1502,
"name": "DUP4",
"source": 3
},
{
"begin": 1489,
"end": 1507,
"name": "ADD",
"source": 3
},
{
"begin": 1480,
"end": 1486,
"name": "DUP5",
"source": 3
},
{
"begin": 1436,
"end": 1508,
"name": "PUSH [tag]",
"source": 3,
"value": "34"
},
{
"begin": 1436,
"end": 1508,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1436,
"end": 1508,
"name": "tag",
"source": 3,
"value": "44"
},
{
"begin": 1436,
"end": 1508,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "SWAP4",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "SWAP3",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "POP",
"source": 3
},
{
"begin": 1183,
"end": 1515,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1602,
"end": 1698,
"name": "tag",
"source": 3,
"value": "33"
},
{
"begin": 1602,
"end": 1698,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1639,
"end": 1646,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1668,
"end": 1692,
"name": "PUSH [tag]",
"source": 3,
"value": "48"
},
{
"begin": 1686,
"end": 1691,
"name": "DUP3",
"source": 3
},
{
"begin": 1668,
"end": 1692,
"name": "PUSH [tag]",
"source": 3,
"value": "49"
},
{
"begin": 1668,
"end": 1692,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 1668,
"end": 1692,
"name": "tag",
"source": 3,
"value": "48"
},
{
"begin": 1668,
"end": 1692,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1657,
"end": 1692,
"name": "SWAP1",
"source": 3
},
{
"begin": 1657,
"end": 1692,
"name": "POP",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "SWAP2",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "SWAP1",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "POP",
"source": 3
},
{
"begin": 1602,
"end": 1698,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1704,
"end": 1830,
"name": "tag",
"source": 3,
"value": "49"
},
{
"begin": 1704,
"end": 1830,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1741,
"end": 1748,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1781,
"end": 1823,
"name": "PUSH",
"source": 3,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1774,
"end": 1779,
"name": "DUP3",
"source": 3
},
{
"begin": 1770,
"end": 1824,
"name": "AND",
"source": 3
},
{
"begin": 1759,
"end": 1824,
"name": "SWAP1",
"source": 3
},
{
"begin": 1759,
"end": 1824,
"name": "POP",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "SWAP2",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "SWAP1",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "POP",
"source": 3
},
{
"begin": 1704,
"end": 1830,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 1836,
"end": 1913,
"name": "tag",
"source": 3,
"value": "37"
},
{
"begin": 1836,
"end": 1913,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 1873,
"end": 1880,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 1902,
"end": 1907,
"name": "DUP2",
"source": 3
},
{
"begin": 1891,
"end": 1907,
"name": "SWAP1",
"source": 3
},
{
"begin": 1891,
"end": 1907,
"name": "POP",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "SWAP2",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "SWAP1",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "POP",
"source": 3
},
{
"begin": 1836,
"end": 1913,
"name": "JUMP",
"source": 3,
"value": "[out]"
},
{
"begin": 2042,
"end": 2159,
"name": "tag",
"source": 3,
"value": "28"
},
{
"begin": 2042,
"end": 2159,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2151,
"end": 2152,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2148,
"end": 2149,
"name": "DUP1",
"source": 3
},
{
"begin": 2141,
"end": 2153,
"name": "REVERT",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "tag",
"source": 3,
"value": "24"
},
{
"begin": 2165,
"end": 2287,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2238,
"end": 2262,
"name": "PUSH [tag]",
"source": 3,
"value": "56"
},
{
"begin": 2256,
"end": 2261,
"name": "DUP2",
"source": 3
},
{
"begin": 2238,
"end": 2262,
"name": "PUSH [tag]",
"source": 3,
"value": "37"
},
{
"begin": 2238,
"end": 2262,
"name": "JUMP",
"source": 3,
"value": "[in]"
},
{
"begin": 2238,
"end": 2262,
"name": "tag",
"source": 3,
"value": "56"
},
{
"begin": 2238,
"end": 2262,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2231,
"end": 2236,
"name": "DUP2",
"source": 3
},
{
"begin": 2228,
"end": 2263,
"name": "EQ",
"source": 3
},
{
"begin": 2218,
"end": 2281,
"name": "PUSH [tag]",
"source": 3,
"value": "57"
},
{
"begin": 2218,
"end": 2281,
"name": "JUMPI",
"source": 3
},
{
"begin": 2277,
"end": 2278,
"name": "PUSH",
"source": 3,
"value": "0"
},
{
"begin": 2274,
"end": 2275,
"name": "DUP1",
"source": 3
},
{
"begin": 2267,
"end": 2279,
"name": "REVERT",
"source": 3
},
{
"begin": 2218,
"end": 2281,
"name": "tag",
"source": 3,
"value": "57"
},
{
"begin": 2218,
"end": 2281,
"name": "JUMPDEST",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "POP",
"source": 3
},
{
"begin": 2165,
"end": 2287,
"name": "JUMP",
"source": 3,
"value": "[out]"
}
]
}
}
}
}
}
}
},
"methodIdentifiers": {
"createBargain(address,address,uint256)": "2fd3f5ea"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract BargainErc721\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"Create\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"collectionTo\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenIdCollection\",\"type\":\"uint256\"}],\"name\":\"createBargain\",\"outputs\":[{\"internalType\":\"contract BargainErc721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FactoryCollection.sol\":\"FactoryCollection\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/FactoryCollection.sol\":{\"keccak256\":\"0xf9026285fa806936e5a8401e76c6a7c44eb70314cf2ff08880136a3d7146dfb2\",\"urls\":[\"bzz-raw://d5086e4ab7b96c1c7f02b0ed51c1cc900e841420206a4cfc0fb4429e95765751\",\"dweb:/ipfs/QmdsedEnvDHBmV4qaNU6mfD298mtrn5gUZzTk9yY9fW6ic\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/FactoryCollection.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "contracts/FactoryCollection.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"@openzeppelin/contracts/token/ERC721/IERC721.sol": {
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"exportedSymbols": {
"IERC165": [
127
],
"IERC721": [
115
]
},
"id": 116,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "108:23:0"
},
{
"absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
"file": "../../utils/introspection/IERC165.sol",
"id": 2,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 116,
"sourceUnit": 128,
"src": "133:47:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 4,
"name": "IERC165",
"nodeType": "IdentifierPath",
"referencedDeclaration": 127,
"src": "271:7:0"
},
"id": 5,
"nodeType": "InheritanceSpecifier",
"src": "271:7:0"
}
],
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 3,
"nodeType": "StructuredDocumentation",
"src": "182:67:0",
"text": " @dev Required interface of an ERC721 compliant contract."
},
"fullyImplemented": false,
"id": 115,
"linearizedBaseContracts": [
115,
127
],
"name": "IERC721",
"nameLocation": "260:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 6,
"nodeType": "StructuredDocumentation",
"src": "285:88:0",
"text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`."
},
"id": 14,
"name": "Transfer",
"nameLocation": "384:8:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "409:4:0",
"nodeType": "VariableDeclaration",
"scope": 14,
"src": "393:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 7,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "393:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "431:2:0",
"nodeType": "VariableDeclaration",
"scope": 14,
"src": "415:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "415:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12,
"indexed": true,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "451:7:0",
"nodeType": "VariableDeclaration",
"scope": 14,
"src": "435:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 11,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "435:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "392:67:0"
},
"src": "378:82:0"
},
{
"anonymous": false,
"documentation": {
"id": 15,
"nodeType": "StructuredDocumentation",
"src": "466:94:0",
"text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."
},
"id": 23,
"name": "Approval",
"nameLocation": "571:8:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 22,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"indexed": true,
"mutability": "mutable",
"name": "owner",
"nameLocation": "596:5:0",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "580:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 16,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "580:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 19,
"indexed": true,
"mutability": "mutable",
"name": "approved",
"nameLocation": "619:8:0",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "603:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 18,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "603:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21,
"indexed": true,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "645:7:0",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "629:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 20,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "629:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "579:74:0"
},
"src": "565:89:0"
},
{
"anonymous": false,
"documentation": {
"id": 24,
"nodeType": "StructuredDocumentation",
"src": "660:117:0",
"text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
},
"id": 32,
"name": "ApprovalForAll",
"nameLocation": "788:14:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 31,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 26,
"indexed": true,
"mutability": "mutable",
"name": "owner",
"nameLocation": "819:5:0",
"nodeType": "VariableDeclaration",
"scope": 32,
"src": "803:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 25,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "803:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 28,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "842:8:0",
"nodeType": "VariableDeclaration",
"scope": 32,
"src": "826:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 27,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "826:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 30,
"indexed": false,
"mutability": "mutable",
"name": "approved",
"nameLocation": "857:8:0",
"nodeType": "VariableDeclaration",
"scope": 32,
"src": "852:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 29,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "852:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "802:64:0"
},
"src": "782:85:0"
},
{
"documentation": {
"id": 33,
"nodeType": "StructuredDocumentation",
"src": "873:76:0",
"text": " @dev Returns the number of tokens in ``owner``'s account."
},
"functionSelector": "70a08231",
"id": 40,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "963:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 35,
"mutability": "mutable",
"name": "owner",
"nameLocation": "981:5:0",
"nodeType": "VariableDeclaration",
"scope": 40,
"src": "973:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 34,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "973:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "972:15:0"
},
"returnParameters": {
"id": 39,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 38,
"mutability": "mutable",
"name": "balance",
"nameLocation": "1019:7:0",
"nodeType": "VariableDeclaration",
"scope": 40,
"src": "1011:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 37,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1011:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1010:17:0"
},
"scope": 115,
"src": "954:74:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 41,
"nodeType": "StructuredDocumentation",
"src": "1034:131:0",
"text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."
},
"functionSelector": "6352211e",
"id": 48,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "ownerOf",
"nameLocation": "1179:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 44,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 43,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "1195:7:0",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "1187:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 42,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1187:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1186:17:0"
},
"returnParameters": {
"id": 47,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 46,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1235:5:0",
"nodeType": "VariableDeclaration",
"scope": 48,
"src": "1227:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 45,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1227:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1226:15:0"
},
"scope": 115,
"src": "1170:72:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 49,
"nodeType": "StructuredDocumentation",
"src": "1248:556:0",
"text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."
},
"functionSelector": "b88d4fde",
"id": 60,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeTransferFrom",
"nameLocation": "1818:16:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 58,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 51,
"mutability": "mutable",
"name": "from",
"nameLocation": "1852:4:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "1844:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 50,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1844:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 53,
"mutability": "mutable",
"name": "to",
"nameLocation": "1874:2:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "1866:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 52,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1866:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 55,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "1894:7:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "1886:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 54,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1886:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 57,
"mutability": "mutable",
"name": "data",
"nameLocation": "1926:4:0",
"nodeType": "VariableDeclaration",
"scope": 60,
"src": "1911:19:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 56,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1911:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "1834:102:0"
},
"returnParameters": {
"id": 59,
"nodeType": "ParameterList",
"parameters": [],
"src": "1945:0:0"
},
"scope": 115,
"src": "1809:137:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 61,
"nodeType": "StructuredDocumentation",
"src": "1952:687:0",
"text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."
},
"functionSelector": "42842e0e",
"id": 70,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeTransferFrom",
"nameLocation": "2653:16:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 68,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 63,
"mutability": "mutable",
"name": "from",
"nameLocation": "2687:4:0",
"nodeType": "VariableDeclaration",
"scope": 70,
"src": "2679:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 62,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2679:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 65,
"mutability": "mutable",
"name": "to",
"nameLocation": "2709:2:0",
"nodeType": "VariableDeclaration",
"scope": 70,
"src": "2701:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 64,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2701:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 67,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "2729:7:0",
"nodeType": "VariableDeclaration",
"scope": 70,
"src": "2721:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 66,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2721:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "2669:73:0"
},
"returnParameters": {
"id": 69,
"nodeType": "ParameterList",
"parameters": [],
"src": "2751:0:0"
},
"scope": 115,
"src": "2644:108:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 71,
"nodeType": "StructuredDocumentation",
"src": "2758:732:0",
"text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."
},
"functionSelector": "23b872dd",
"id": 80,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nameLocation": "3504:12:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 78,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 73,
"mutability": "mutable",
"name": "from",
"nameLocation": "3534:4:0",
"nodeType": "VariableDeclaration",
"scope": 80,
"src": "3526:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 72,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3526:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 75,
"mutability": "mutable",
"name": "to",
"nameLocation": "3556:2:0",
"nodeType": "VariableDeclaration",
"scope": 80,
"src": "3548:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 74,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3548:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 77,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "3576:7:0",
"nodeType": "VariableDeclaration",
"scope": 80,
"src": "3568:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 76,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3568:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3516:73:0"
},
"returnParameters": {
"id": 79,
"nodeType": "ParameterList",
"parameters": [],
"src": "3598:0:0"
},
"scope": 115,
"src": "3495:104:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 81,
"nodeType": "StructuredDocumentation",
"src": "3605:452:0",
"text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."
},
"functionSelector": "095ea7b3",
"id": 88,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approve",
"nameLocation": "4071:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 86,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 83,
"mutability": "mutable",
"name": "to",
"nameLocation": "4087:2:0",
"nodeType": "VariableDeclaration",
"scope": 88,
"src": "4079:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 82,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4079:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 85,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "4099:7:0",
"nodeType": "VariableDeclaration",
"scope": 88,
"src": "4091:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 84,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4091:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "4078:29:0"
},
"returnParameters": {
"id": 87,
"nodeType": "ParameterList",
"parameters": [],
"src": "4116:0:0"
},
"scope": 115,
"src": "4062:55:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 89,
"nodeType": "StructuredDocumentation",
"src": "4123:309:0",
"text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."
},
"functionSelector": "a22cb465",
"id": 96,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setApprovalForAll",
"nameLocation": "4446:17:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 94,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 91,
"mutability": "mutable",
"name": "operator",
"nameLocation": "4472:8:0",
"nodeType": "VariableDeclaration",
"scope": 96,
"src": "4464:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 90,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4464:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 93,
"mutability": "mutable",
"name": "_approved",
"nameLocation": "4487:9:0",
"nodeType": "VariableDeclaration",
"scope": 96,
"src": "4482:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 92,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "4482:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "4463:34:0"
},
"returnParameters": {
"id": 95,
"nodeType": "ParameterList",
"parameters": [],
"src": "4506:0:0"
},
"scope": 115,
"src": "4437:70:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 97,
"nodeType": "StructuredDocumentation",
"src": "4513:139:0",
"text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."
},
"functionSelector": "081812fc",
"id": 104,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getApproved",
"nameLocation": "4666:11:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 100,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 99,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "4686:7:0",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "4678:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 98,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4678:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "4677:17:0"
},
"returnParameters": {
"id": 103,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 102,
"mutability": "mutable",
"name": "operator",
"nameLocation": "4726:8:0",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "4718:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 101,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4718:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "4717:18:0"
},
"scope": 115,
"src": "4657:79:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 105,
"nodeType": "StructuredDocumentation",
"src": "4742:138:0",
"text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"
},
"functionSelector": "e985e9c5",
"id": 114,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isApprovedForAll",
"nameLocation": "4894:16:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 110,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 107,
"mutability": "mutable",
"name": "owner",
"nameLocation": "4919:5:0",
"nodeType": "VariableDeclaration",
"scope": 114,
"src": "4911:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 106,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4911:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 109,
"mutability": "mutable",
"name": "operator",
"nameLocation": "4934:8:0",
"nodeType": "VariableDeclaration",
"scope": 114,
"src": "4926:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 108,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4926:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "4910:33:0"
},
"returnParameters": {
"id": 113,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 112,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 114,
"src": "4967:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 111,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "4967:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "4966:6:0"
},
"scope": 115,
"src": "4885:88:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 116,
"src": "250:4725:0",
"usedErrors": []
}
],
"src": "108:4868:0"
},
"id": 0
},
"@openzeppelin/contracts/utils/introspection/IERC165.sol": {
"ast": {
"absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
"exportedSymbols": {
"IERC165": [
127
]
},
"id": 128,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 117,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "100:23:1"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 118,
"nodeType": "StructuredDocumentation",
"src": "125:279:1",
"text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
},
"fullyImplemented": false,
"id": 127,
"linearizedBaseContracts": [
127
],
"name": "IERC165",
"nameLocation": "415:7:1",
"nodeType": "ContractDefinition",
"nodes": [
{
"documentation": {
"id": 119,
"nodeType": "StructuredDocumentation",
"src": "429:340:1",
"text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."
},
"functionSelector": "01ffc9a7",
"id": 126,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "supportsInterface",
"nameLocation": "783:17:1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 122,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 121,
"mutability": "mutable",
"name": "interfaceId",
"nameLocation": "808:11:1",
"nodeType": "VariableDeclaration",
"scope": 126,
"src": "801:18:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 120,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "801:6:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"visibility": "internal"
}
],
"src": "800:20:1"
},
"returnParameters": {
"id": 125,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 124,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 126,
"src": "844:4:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 123,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "844:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "843:6:1"
},
"scope": 127,
"src": "774:76:1",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 128,
"src": "405:447:1",
"usedErrors": []
}
],
"src": "100:753:1"
},
"id": 1
},
"contracts/FactoryCollection.sol": {
"ast": {
"absolutePath": "contracts/FactoryCollection.sol",
"exportedSymbols": {
"BargainErc721": [
210
],
"FactoryCollection": [
246
],
"IERC721": [
115
]
},
"id": 247,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 129,
"literals": [
"solidity",
">=",
"0.7",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:31:2"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
"id": 131,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 247,
"sourceUnit": 116,
"src": "35:75:2",
"symbolAliases": [
{
"foreign": {
"id": 130,
"name": "IERC721",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"src": "44:7:2",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 210,
"linearizedBaseContracts": [
210
],
"name": "BargainErc721",
"nameLocation": "123:13:2",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"id": 137,
"name": "Deposit",
"nameLocation": "152:7:2",
"nodeType": "EventDefinition",
"parameters": {
"id": 136,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 133,
"indexed": false,
"mutability": "mutable",
"name": "account",
"nameLocation": "168:7:2",
"nodeType": "VariableDeclaration",
"scope": 137,
"src": "160:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 132,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "160:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 135,
"indexed": false,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "185:7:2",
"nodeType": "VariableDeclaration",
"scope": 137,
"src": "177:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 134,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "177:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "159:34:2"
},
"src": "146:48:2"
},
{
"body": {
"id": 172,
"nodeType": "Block",
"src": "286:329:2",
"statements": [
{
"expression": {
"id": 148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 146,
"name": "collectionTarget",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 182,
"src": "299:16:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 147,
"name": "collectionTo",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 141,
"src": "318:12:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "299:31:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 149,
"nodeType": "ExpressionStatement",
"src": "299:31:2"
},
{
"expression": {
"id": 157,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 150,
"name": "collectionFrom",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 185,
"src": "341:14:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"expression": {
"id": 152,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "399:3:2",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 153,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "399:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 154,
"name": "collection",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 139,
"src": "443:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 155,
"name": "tokenIdCollectionFrom",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 143,
"src": "477:21:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 151,
"name": "CollectionAndOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 180,
"src": "358:18:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_CollectionAndOwner_$180_storage_ptr_$",
"typeString": "type(struct BargainErc721.CollectionAndOwner storage pointer)"
}
},
"id": 156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"owner",
"collectionAddress",
"tokenId"
],
"nodeType": "FunctionCall",
"src": "358:152:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_memory_ptr",
"typeString": "struct BargainErc721.CollectionAndOwner memory"
}
},
"src": "341:169:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner storage ref"
}
},
"id": 158,
"nodeType": "ExpressionStatement",
"src": "341:169:2"
},
{
"expression": {
"arguments": [
{
"expression": {
"id": 163,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "558:3:2",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "558:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"id": 167,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "578:4:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
}
],
"id": 166,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "570:7:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 165,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "570:7:2",
"typeDescriptions": {}
}
},
"id": 168,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "570:13:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 169,
"name": "tokenIdCollectionFrom",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 143,
"src": "585:21:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"arguments": [
{
"id": 160,
"name": "collection",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 139,
"src": "529:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 159,
"name": "IERC721",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 115,
"src": "521:7:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IERC721_$115_$",
"typeString": "type(contract IERC721)"
}
},
"id": 161,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "521:19:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC721_$115",
"typeString": "contract IERC721"
}
},
"id": 162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "safeTransferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 70,
"src": "521:36:2",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,address,uint256) external"
}
},
"id": 170,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "521:86:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 171,
"nodeType": "ExpressionStatement",
"src": "521:86:2"
}
]
},
"id": 173,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 144,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 139,
"mutability": "mutable",
"name": "collection",
"nameLocation": "222:10:2",
"nodeType": "VariableDeclaration",
"scope": 173,
"src": "214:18:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 138,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "214:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 141,
"mutability": "mutable",
"name": "collectionTo",
"nameLocation": "242:12:2",
"nodeType": "VariableDeclaration",
"scope": 173,
"src": "234:20:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 140,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "234:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 143,
"mutability": "mutable",
"name": "tokenIdCollectionFrom",
"nameLocation": "264:21:2",
"nodeType": "VariableDeclaration",
"scope": 173,
"src": "256:29:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 142,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "256:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "213:73:2"
},
"returnParameters": {
"id": 145,
"nodeType": "ParameterList",
"parameters": [],
"src": "286:0:2"
},
"scope": 210,
"src": "202:413:2",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"canonicalName": "BargainErc721.CollectionAndOwner",
"id": 180,
"members": [
{
"constant": false,
"id": 175,
"mutability": "mutable",
"name": "owner",
"nameLocation": "668:5:2",
"nodeType": "VariableDeclaration",
"scope": 180,
"src": "660:13:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 174,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "660:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 177,
"mutability": "mutable",
"name": "collectionAddress",
"nameLocation": "692:17:2",
"nodeType": "VariableDeclaration",
"scope": 180,
"src": "684:25:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 176,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "684:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 179,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "728:7:2",
"nodeType": "VariableDeclaration",
"scope": 180,
"src": "720:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 178,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "720:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"name": "CollectionAndOwner",
"nameLocation": "630:18:2",
"nodeType": "StructDefinition",
"scope": 210,
"src": "623:120:2",
"visibility": "public"
},
{
"constant": false,
"id": 182,
"mutability": "mutable",
"name": "collectionTarget",
"nameLocation": "759:16:2",
"nodeType": "VariableDeclaration",
"scope": 210,
"src": "751:24:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 181,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "751:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"functionSelector": "b5c1179b",
"id": 185,
"mutability": "mutable",
"name": "collectionFrom",
"nameLocation": "810:14:2",
"nodeType": "VariableDeclaration",
"scope": 210,
"src": "784:40:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner"
},
"typeName": {
"id": 184,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 183,
"name": "CollectionAndOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 180,
"src": "784:18:2"
},
"referencedDeclaration": 180,
"src": "784:18:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage_ptr",
"typeString": "struct BargainErc721.CollectionAndOwner"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "e958ff26",
"id": 188,
"mutability": "mutable",
"name": "collectionWhant",
"nameLocation": "857:15:2",
"nodeType": "VariableDeclaration",
"scope": 210,
"src": "831:41:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner"
},
"typeName": {
"id": 187,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 186,
"name": "CollectionAndOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 180,
"src": "831:18:2"
},
"referencedDeclaration": 180,
"src": "831:18:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage_ptr",
"typeString": "struct BargainErc721.CollectionAndOwner"
}
},
"visibility": "public"
},
{
"body": {
"id": 208,
"nodeType": "Block",
"src": "924:227:2",
"statements": [
{
"expression": {
"id": 200,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 193,
"name": "collectionWhant",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 188,
"src": "937:15:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"expression": {
"id": 195,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "996:3:2",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 196,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "996:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 197,
"name": "collectionTarget",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 182,
"src": "1040:16:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 198,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 190,
"src": "1080:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 194,
"name": "CollectionAndOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 180,
"src": "955:18:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_CollectionAndOwner_$180_storage_ptr_$",
"typeString": "type(struct BargainErc721.CollectionAndOwner storage pointer)"
}
},
"id": 199,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"owner",
"collectionAddress",
"tokenId"
],
"nodeType": "FunctionCall",
"src": "955:144:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_memory_ptr",
"typeString": "struct BargainErc721.CollectionAndOwner memory"
}
},
"src": "937:162:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_CollectionAndOwner_$180_storage",
"typeString": "struct BargainErc721.CollectionAndOwner storage ref"
}
},
"id": 201,
"nodeType": "ExpressionStatement",
"src": "937:162:2"
},
{
"eventCall": {
"arguments": [
{
"expression": {
"id": 203,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1123:3:2",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 204,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1123:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 205,
"name": "tokenId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 190,
"src": "1135:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 202,
"name": "Deposit",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 137,
"src": "1115:7:2",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (address,uint256)"
}
},
"id": 206,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1115:28:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 207,
"nodeType": "EmitStatement",
"src": "1110:33:2"
}
]
},
"functionSelector": "b6b55f25",
"id": 209,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "deposit",
"nameLocation": "890:7:2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 191,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 190,
"mutability": "mutable",
"name": "tokenId",
"nameLocation": "906:7:2",
"nodeType": "VariableDeclaration",
"scope": 209,
"src": "898:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 189,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "898:7:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "897:17:2"
},
"returnParameters": {
"id": 192,
"nodeType": "ParameterList",
"parameters": [],
"src": "924:0:2"
},
"scope": 210,
"src": "881:270:2",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 247,
"src": "114:1042:2",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [
210
],
"contractKind": "contract",
"fullyImplemented": true,
"id": 246,
"linearizedBaseContracts": [
246
],
"name": "FactoryCollection",
"nameLocation": "1171:17:2",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"id": 215,
"name": "Create",
"nameLocation": "1204:6:2",
"nodeType": "EventDefinition",
"parameters": {
"id": 214,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 213,
"indexed": true,
"mutability": "mutable",
"name": "pool",
"nameLocation": "1233:4:2",
"nodeType": "VariableDeclaration",
"scope": 215,
"src": "1211:26:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
},
"typeName": {
"id": 212,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 211,
"name": "BargainErc721",
"nodeType": "IdentifierPath",
"referencedDeclaration": 210,
"src": "1211:13:2"
},
"referencedDeclaration": 210,
"src": "1211:13:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
}
},
"visibility": "internal"
}
],
"src": "1210:28:2"
},
"src": "1198:41:2"
},
{
"body": {
"id": 244,
"nodeType": "Block",
"src": "1369:180:2",
"statements": [
{
"assignments": [
229
],
"declarations": [
{
"constant": false,
"id": 229,
"mutability": "mutable",
"name": "bargainErc721",
"nameLocation": "1394:13:2",
"nodeType": "VariableDeclaration",
"scope": 244,
"src": "1380:27:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
},
"typeName": {
"id": 228,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 227,
"name": "BargainErc721",
"nodeType": "IdentifierPath",
"referencedDeclaration": 210,
"src": "1380:13:2"
},
"referencedDeclaration": 210,
"src": "1380:13:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BargainErc721_$210",
"typeString": "contract BargainErc721"
}
},
"visibility": "internal"
}
],
"id": 237,
"initialValue": {
"arguments": [
{
"id": 233,
"name": "collection",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 217,
"src": "1429:10:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 234,
"name": "collectionTo",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 219,
"src": "1441:12:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 235,
"name": "tokenIdCollection",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 221,
"src": "1455:17:2",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 232,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "1411:17:2",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_contract$_BargainErc721_$210_$",
"typeString": "function (address,address,uint256) returns (contract BargainErc721)"
},
"typeName": {
"id": 231,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 230,
"name": "BargainErc721",
"nodeType": "IdentifierPath",
"referencedDeclaration": 210,
"src": "1415:13:2"
},
"referencedDeclaration": 2
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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