Created
March 13, 2023 20:42
-
-
Save KiselevMaxim/adb46c2ec97d459ffd9f06e2e41f0d95 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./ConfirmedOwnerWithProposal.sol"; | |
/** | |
* @title The ConfirmedOwner contract | |
* @notice A contract with helpers for basic contract ownership. | |
*/ | |
contract ConfirmedOwner is ConfirmedOwnerWithProposal { | |
constructor(address newOwner) ConfirmedOwnerWithProposal(newOwner, address(0)) {} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./interfaces/OwnableInterface.sol"; | |
/** | |
* @title The ConfirmedOwner contract | |
* @notice A contract with helpers for basic contract ownership. | |
*/ | |
contract ConfirmedOwnerWithProposal is OwnableInterface { | |
address private s_owner; | |
address private s_pendingOwner; | |
event OwnershipTransferRequested(address indexed from, address indexed to); | |
event OwnershipTransferred(address indexed from, address indexed to); | |
constructor(address newOwner, address pendingOwner) { | |
require(newOwner != address(0), "Cannot set owner to zero"); | |
s_owner = newOwner; | |
if (pendingOwner != address(0)) { | |
_transferOwnership(pendingOwner); | |
} | |
} | |
/** | |
* @notice Allows an owner to begin transferring ownership to a new address, | |
* pending. | |
*/ | |
function transferOwnership(address to) public override onlyOwner { | |
_transferOwnership(to); | |
} | |
/** | |
* @notice Allows an ownership transfer to be completed by the recipient. | |
*/ | |
function acceptOwnership() external override { | |
require(msg.sender == s_pendingOwner, "Must be proposed owner"); | |
address oldOwner = s_owner; | |
s_owner = msg.sender; | |
s_pendingOwner = address(0); | |
emit OwnershipTransferred(oldOwner, msg.sender); | |
} | |
/** | |
* @notice Get the current owner | |
*/ | |
function owner() public view override returns (address) { | |
return s_owner; | |
} | |
/** | |
* @notice validate, transfer ownership, and emit relevant events | |
*/ | |
function _transferOwnership(address to) private { | |
require(to != msg.sender, "Cannot transfer to self"); | |
s_pendingOwner = to; | |
emit OwnershipTransferRequested(s_owner, to); | |
} | |
/** | |
* @notice validate access | |
*/ | |
function _validateOwnership() internal view { | |
require(msg.sender == s_owner, "Only callable by owner"); | |
} | |
/** | |
* @notice Reverts if called by anyone other than the contract owner. | |
*/ | |
modifier onlyOwner() { | |
_validateOwnership(); | |
_; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
interface LinkTokenInterface { | |
function allowance(address owner, address spender) external view returns (uint256 remaining); | |
function approve(address spender, uint256 value) external returns (bool success); | |
function balanceOf(address owner) external view returns (uint256 balance); | |
function decimals() external view returns (uint8 decimalPlaces); | |
function decreaseApproval(address spender, uint256 addedValue) external returns (bool success); | |
function increaseApproval(address spender, uint256 subtractedValue) external; | |
function name() external view returns (string memory tokenName); | |
function symbol() external view returns (string memory tokenSymbol); | |
function totalSupply() external view returns (uint256 totalTokensIssued); | |
function transfer(address to, uint256 value) external returns (bool success); | |
function transferAndCall( | |
address to, | |
uint256 value, | |
bytes calldata data | |
) external returns (bool success); | |
function transferFrom( | |
address from, | |
address to, | |
uint256 value | |
) external returns (bool success); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
interface OwnableInterface { | |
function owner() external returns (address); | |
function transferOwnership(address recipient) external; | |
function acceptOwnership() external; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
interface VRFCoordinatorV2Interface { | |
/** | |
* @notice Get configuration relevant for making requests | |
* @return minimumRequestConfirmations global min for request confirmations | |
* @return maxGasLimit global max for request gas limit | |
* @return s_provingKeyHashes list of registered key hashes | |
*/ | |
function getRequestConfig() | |
external | |
view | |
returns ( | |
uint16, | |
uint32, | |
bytes32[] memory | |
); | |
/** | |
* @notice Request a set of random words. | |
* @param keyHash - Corresponds to a particular oracle job which uses | |
* that key for generating the VRF proof. Different keyHash's have different gas price | |
* ceilings, so you can select a specific one to bound your maximum per request cost. | |
* @param subId - The ID of the VRF subscription. Must be funded | |
* with the minimum subscription balance required for the selected keyHash. | |
* @param minimumRequestConfirmations - How many blocks you'd like the | |
* oracle to wait before responding to the request. See SECURITY CONSIDERATIONS | |
* for why you may want to request more. The acceptable range is | |
* [minimumRequestBlockConfirmations, 200]. | |
* @param callbackGasLimit - How much gas you'd like to receive in your | |
* fulfillRandomWords callback. Note that gasleft() inside fulfillRandomWords | |
* may be slightly less than this amount because of gas used calling the function | |
* (argument decoding etc.), so you may need to request slightly more than you expect | |
* to have inside fulfillRandomWords. The acceptable range is | |
* [0, maxGasLimit] | |
* @param numWords - The number of uint256 random values you'd like to receive | |
* in your fulfillRandomWords callback. Note these numbers are expanded in a | |
* secure way by the VRFCoordinator from a single random value supplied by the oracle. | |
* @return requestId - A unique identifier of the request. Can be used to match | |
* a request to a response in fulfillRandomWords. | |
*/ | |
function requestRandomWords( | |
bytes32 keyHash, | |
uint64 subId, | |
uint16 minimumRequestConfirmations, | |
uint32 callbackGasLimit, | |
uint32 numWords | |
) external returns (uint256 requestId); | |
/** | |
* @notice Create a VRF subscription. | |
* @return subId - A unique subscription id. | |
* @dev You can manage the consumer set dynamically with addConsumer/removeConsumer. | |
* @dev Note to fund the subscription, use transferAndCall. For example | |
* @dev LINKTOKEN.transferAndCall( | |
* @dev address(COORDINATOR), | |
* @dev amount, | |
* @dev abi.encode(subId)); | |
*/ | |
function createSubscription() external returns (uint64 subId); | |
/** | |
* @notice Get a VRF subscription. | |
* @param subId - ID of the subscription | |
* @return balance - LINK balance of the subscription in juels. | |
* @return reqCount - number of requests for this subscription, determines fee tier. | |
* @return owner - owner of the subscription. | |
* @return consumers - list of consumer address which are able to use this subscription. | |
*/ | |
function getSubscription(uint64 subId) | |
external | |
view | |
returns ( | |
uint96 balance, | |
uint64 reqCount, | |
address owner, | |
address[] memory consumers | |
); | |
/** | |
* @notice Request subscription owner transfer. | |
* @param subId - ID of the subscription | |
* @param newOwner - proposed new owner of the subscription | |
*/ | |
function requestSubscriptionOwnerTransfer(uint64 subId, address newOwner) external; | |
/** | |
* @notice Request subscription owner transfer. | |
* @param subId - ID of the subscription | |
* @dev will revert if original owner of subId has | |
* not requested that msg.sender become the new owner. | |
*/ | |
function acceptSubscriptionOwnerTransfer(uint64 subId) external; | |
/** | |
* @notice Add a consumer to a VRF subscription. | |
* @param subId - ID of the subscription | |
* @param consumer - New consumer which can use the subscription | |
*/ | |
function addConsumer(uint64 subId, address consumer) external; | |
/** | |
* @notice Remove a consumer from a VRF subscription. | |
* @param subId - ID of the subscription | |
* @param consumer - Consumer to remove from the subscription | |
*/ | |
function removeConsumer(uint64 subId, address consumer) external; | |
/** | |
* @notice Cancel a subscription | |
* @param subId - ID of the subscription | |
* @param to - Where to send the remaining LINK to | |
*/ | |
function cancelSubscription(uint64 subId, address to) external; | |
/* | |
* @notice Check to see if there exists a request commitment consumers | |
* for all consumers and keyhashes for a given sub. | |
* @param subId - ID of the subscription | |
* @return true if there exists at least one unfulfilled request for the subscription, false | |
* otherwise. | |
*/ | |
function pendingRequestExists(uint64 subId) external view returns (bool); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
interface VRFV2WrapperInterface { | |
/** | |
* @return the request ID of the most recent VRF V2 request made by this wrapper. This should only | |
* be relied option within the same transaction that the request was made. | |
*/ | |
function lastRequestId() external view returns (uint256); | |
/** | |
* @notice Calculates the price of a VRF request with the given callbackGasLimit at the current | |
* @notice block. | |
* | |
* @dev This function relies on the transaction gas price which is not automatically set during | |
* @dev simulation. To estimate the price at a specific gas price, use the estimatePrice function. | |
* | |
* @param _callbackGasLimit is the gas limit used to estimate the price. | |
*/ | |
function calculateRequestPrice(uint32 _callbackGasLimit) external view returns (uint256); | |
/** | |
* @notice Estimates the price of a VRF request with a specific gas limit and gas price. | |
* | |
* @dev This is a convenience function that can be called in simulation to better understand | |
* @dev pricing. | |
* | |
* @param _callbackGasLimit is the gas limit used to estimate the price. | |
* @param _requestGasPriceWei is the gas price in wei used for the estimation. | |
*/ | |
function estimateRequestPrice(uint32 _callbackGasLimit, uint256 _requestGasPriceWei) external view returns (uint256); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.4; | |
/** **************************************************************************** | |
* @notice Interface for contracts using VRF randomness | |
* ***************************************************************************** | |
* @dev PURPOSE | |
* | |
* @dev Reggie the Random Oracle (not his real job) wants to provide randomness | |
* @dev to Vera the verifier in such a way that Vera can be sure he's not | |
* @dev making his output up to suit himself. Reggie provides Vera a public key | |
* @dev to which he knows the secret key. Each time Vera provides a seed to | |
* @dev Reggie, he gives back a value which is computed completely | |
* @dev deterministically from the seed and the secret key. | |
* | |
* @dev Reggie provides a proof by which Vera can verify that the output was | |
* @dev correctly computed once Reggie tells it to her, but without that proof, | |
* @dev the output is indistinguishable to her from a uniform random sample | |
* @dev from the output space. | |
* | |
* @dev The purpose of this contract is to make it easy for unrelated contracts | |
* @dev to talk to Vera the verifier about the work Reggie is doing, to provide | |
* @dev simple access to a verifiable source of randomness. It ensures 2 things: | |
* @dev 1. The fulfillment came from the VRFCoordinator | |
* @dev 2. The consumer contract implements fulfillRandomWords. | |
* ***************************************************************************** | |
* @dev USAGE | |
* | |
* @dev Calling contracts must inherit from VRFConsumerBase, and can | |
* @dev initialize VRFConsumerBase's attributes in their constructor as | |
* @dev shown: | |
* | |
* @dev contract VRFConsumer { | |
* @dev constructor(<other arguments>, address _vrfCoordinator, address _link) | |
* @dev VRFConsumerBase(_vrfCoordinator) public { | |
* @dev <initialization with other arguments goes here> | |
* @dev } | |
* @dev } | |
* | |
* @dev The oracle will have given you an ID for the VRF keypair they have | |
* @dev committed to (let's call it keyHash). Create subscription, fund it | |
* @dev and your consumer contract as a consumer of it (see VRFCoordinatorInterface | |
* @dev subscription management functions). | |
* @dev Call requestRandomWords(keyHash, subId, minimumRequestConfirmations, | |
* @dev callbackGasLimit, numWords), | |
* @dev see (VRFCoordinatorInterface for a description of the arguments). | |
* | |
* @dev Once the VRFCoordinator has received and validated the oracle's response | |
* @dev to your request, it will call your contract's fulfillRandomWords method. | |
* | |
* @dev The randomness argument to fulfillRandomWords is a set of random words | |
* @dev generated from your requestId and the blockHash of the request. | |
* | |
* @dev If your contract could have concurrent requests open, you can use the | |
* @dev requestId returned from requestRandomWords to track which response is associated | |
* @dev with which randomness request. | |
* @dev See "SECURITY CONSIDERATIONS" for principles to keep in mind, | |
* @dev if your contract could have multiple requests in flight simultaneously. | |
* | |
* @dev Colliding `requestId`s are cryptographically impossible as long as seeds | |
* @dev differ. | |
* | |
* ***************************************************************************** | |
* @dev SECURITY CONSIDERATIONS | |
* | |
* @dev A method with the ability to call your fulfillRandomness method directly | |
* @dev could spoof a VRF response with any random value, so it's critical that | |
* @dev it cannot be directly called by anything other than this base contract | |
* @dev (specifically, by the VRFConsumerBase.rawFulfillRandomness method). | |
* | |
* @dev For your users to trust that your contract's random behavior is free | |
* @dev from malicious interference, it's best if you can write it so that all | |
* @dev behaviors implied by a VRF response are executed *during* your | |
* @dev fulfillRandomness method. If your contract must store the response (or | |
* @dev anything derived from it) and use it later, you must ensure that any | |
* @dev user-significant behavior which depends on that stored value cannot be | |
* @dev manipulated by a subsequent VRF request. | |
* | |
* @dev Similarly, both miners and the VRF oracle itself have some influence | |
* @dev over the order in which VRF responses appear on the blockchain, so if | |
* @dev your contract could have multiple VRF requests in flight simultaneously, | |
* @dev you must ensure that the order in which the VRF responses arrive cannot | |
* @dev be used to manipulate your contract's user-significant behavior. | |
* | |
* @dev Since the block hash of the block which contains the requestRandomness | |
* @dev call is mixed into the input to the VRF *last*, a sufficiently powerful | |
* @dev miner could, in principle, fork the blockchain to evict the block | |
* @dev containing the request, forcing the request to be included in a | |
* @dev different block with a different hash, and therefore a different input | |
* @dev to the VRF. However, such an attack would incur a substantial economic | |
* @dev cost. This cost scales with the number of blocks the VRF oracle waits | |
* @dev until it calls responds to a request. It is for this reason that | |
* @dev that you can signal to an oracle you'd like them to wait longer before | |
* @dev responding to the request (however this is not enforced in the contract | |
* @dev and so remains effective only in the case of unmodified oracle software). | |
*/ | |
abstract contract VRFConsumerBaseV2 { | |
error OnlyCoordinatorCanFulfill(address have, address want); | |
address private immutable vrfCoordinator; | |
/** | |
* @param _vrfCoordinator address of VRFCoordinator contract | |
*/ | |
constructor(address _vrfCoordinator) { | |
vrfCoordinator = _vrfCoordinator; | |
} | |
/** | |
* @notice fulfillRandomness handles the VRF response. Your contract must | |
* @notice implement it. See "SECURITY CONSIDERATIONS" above for important | |
* @notice principles to keep in mind when implementing your fulfillRandomness | |
* @notice method. | |
* | |
* @dev VRFConsumerBaseV2 expects its subcontracts to have a method with this | |
* @dev signature, and will call it once it has verified the proof | |
* @dev associated with the randomness. (It is triggered via a call to | |
* @dev rawFulfillRandomness, below.) | |
* | |
* @param requestId The Id initially returned by requestRandomness | |
* @param randomWords the VRF output expanded to the requested number of words | |
*/ | |
function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal virtual; | |
// rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF | |
// proof. rawFulfillRandomness then calls fulfillRandomness, after validating | |
// the origin of the call | |
function rawFulfillRandomWords(uint256 requestId, uint256[] memory randomWords) external { | |
if (msg.sender != vrfCoordinator) { | |
revert OnlyCoordinatorCanFulfill(msg.sender, vrfCoordinator); | |
} | |
fulfillRandomWords(requestId, randomWords); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./interfaces/LinkTokenInterface.sol"; | |
import "./interfaces/VRFV2WrapperInterface.sol"; | |
/** ******************************************************************************* | |
* @notice Interface for contracts using VRF randomness through the VRF V2 wrapper | |
* ******************************************************************************** | |
* @dev PURPOSE | |
* | |
* @dev Create VRF V2 requests without the need for subscription management. Rather than creating | |
* @dev and funding a VRF V2 subscription, a user can use this wrapper to create one off requests, | |
* @dev paying up front rather than at fulfillment. | |
* | |
* @dev Since the price is determined using the gas price of the request transaction rather than | |
* @dev the fulfillment transaction, the wrapper charges an additional premium on callback gas | |
* @dev usage, in addition to some extra overhead costs associated with the VRFV2Wrapper contract. | |
* ***************************************************************************** | |
* @dev USAGE | |
* | |
* @dev Calling contracts must inherit from VRFV2WrapperConsumerBase. The consumer must be funded | |
* @dev with enough LINK to make the request, otherwise requests will revert. To request randomness, | |
* @dev call the 'requestRandomness' function with the desired VRF parameters. This function handles | |
* @dev paying for the request based on the current pricing. | |
* | |
* @dev Consumers must implement the fullfillRandomWords function, which will be called during | |
* @dev fulfillment with the randomness result. | |
*/ | |
abstract contract VRFV2WrapperConsumerBase { | |
LinkTokenInterface internal immutable LINK; | |
VRFV2WrapperInterface internal immutable VRF_V2_WRAPPER; | |
/** | |
* @param _link is the address of LinkToken | |
* @param _vrfV2Wrapper is the address of the VRFV2Wrapper contract | |
*/ | |
constructor(address _link, address _vrfV2Wrapper) { | |
LINK = LinkTokenInterface(_link); | |
VRF_V2_WRAPPER = VRFV2WrapperInterface(_vrfV2Wrapper); | |
} | |
/** | |
* @dev Requests randomness from the VRF V2 wrapper. | |
* | |
* @param _callbackGasLimit is the gas limit that should be used when calling the consumer's | |
* fulfillRandomWords function. | |
* @param _requestConfirmations is the number of confirmations to wait before fulfilling the | |
* request. A higher number of confirmations increases security by reducing the likelihood | |
* that a chain re-org changes a published randomness outcome. | |
* @param _numWords is the number of random words to request. | |
* | |
* @return requestId is the VRF V2 request ID of the newly created randomness request. | |
*/ | |
function requestRandomness( | |
uint32 _callbackGasLimit, | |
uint16 _requestConfirmations, | |
uint32 _numWords | |
) internal returns (uint256 requestId) { | |
LINK.transferAndCall( | |
address(VRF_V2_WRAPPER), | |
VRF_V2_WRAPPER.calculateRequestPrice(_callbackGasLimit), | |
abi.encode(_callbackGasLimit, _requestConfirmations, _numWords) | |
); | |
return VRF_V2_WRAPPER.lastRequestId(); | |
} | |
/** | |
* @notice fulfillRandomWords handles the VRF V2 wrapper response. The consuming contract must | |
* @notice implement it. | |
* | |
* @param _requestId is the VRF V2 request ID. | |
* @param _randomWords is the randomness result. | |
*/ | |
function fulfillRandomWords(uint256 _requestId, uint256[] memory _randomWords) internal virtual; | |
function rawFulfillRandomWords(uint256 _requestId, uint256[] memory _randomWords) external { | |
require(msg.sender == address(VRF_V2_WRAPPER), "only VRF V2 wrapper can fulfill"); | |
fulfillRandomWords(_requestId, _randomWords); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.4.22 <0.9.0; | |
library TestsAccounts { | |
function getAccount(uint index) pure public returns (address) { | |
address[0] memory accounts;; | |
return accounts[index]; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: GPL-3.0 | |
pragma solidity >=0.4.22 <0.9.0; | |
library Assert { | |
event AssertionEvent( | |
bool passed, | |
string message, | |
string methodName | |
); | |
event AssertionEventUint( | |
bool passed, | |
string message, | |
string methodName, | |
uint256 returned, | |
uint256 expected | |
); | |
event AssertionEventInt( | |
bool passed, | |
string message, | |
string methodName, | |
int256 returned, | |
int256 expected | |
); | |
event AssertionEventBool( | |
bool passed, | |
string message, | |
string methodName, | |
bool returned, | |
bool expected | |
); | |
event AssertionEventAddress( | |
bool passed, | |
string message, | |
string methodName, | |
address returned, | |
address expected | |
); | |
event AssertionEventBytes32( | |
bool passed, | |
string message, | |
string methodName, | |
bytes32 returned, | |
bytes32 expected | |
); | |
event AssertionEventString( | |
bool passed, | |
string message, | |
string methodName, | |
string returned, | |
string expected | |
); | |
event AssertionEventUintInt( | |
bool passed, | |
string message, | |
string methodName, | |
uint256 returned, | |
int256 expected | |
); | |
event AssertionEventIntUint( | |
bool passed, | |
string message, | |
string methodName, | |
int256 returned, | |
uint256 expected | |
); | |
function ok(bool a, string memory message) public returns (bool result) { | |
result = a; | |
emit AssertionEvent(result, message, "ok"); | |
} | |
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
result = (a == b); | |
emit AssertionEventUint(result, message, "equal", a, b); | |
} | |
function equal(int256 a, int256 b, string memory message) public returns (bool result) { | |
result = (a == b); | |
emit AssertionEventInt(result, message, "equal", a, b); | |
} | |
function equal(bool a, bool b, string memory message) public returns (bool result) { | |
result = (a == b); | |
emit AssertionEventBool(result, message, "equal", a, b); | |
} | |
// TODO: only for certain versions of solc | |
//function equal(fixed a, fixed b, string message) public returns (bool result) { | |
// result = (a == b); | |
// emit AssertionEvent(result, message); | |
//} | |
// TODO: only for certain versions of solc | |
//function equal(ufixed a, ufixed b, string message) public returns (bool result) { | |
// result = (a == b); | |
// emit AssertionEvent(result, message); | |
//} | |
function equal(address a, address b, string memory message) public returns (bool result) { | |
result = (a == b); | |
emit AssertionEventAddress(result, message, "equal", a, b); | |
} | |
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) { | |
result = (a == b); | |
emit AssertionEventBytes32(result, message, "equal", a, b); | |
} | |
function equal(string memory a, string memory b, string memory message) public returns (bool result) { | |
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))); | |
emit AssertionEventString(result, message, "equal", a, b); | |
} | |
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
result = (a != b); | |
emit AssertionEventUint(result, message, "notEqual", a, b); | |
} | |
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) { | |
result = (a != b); | |
emit AssertionEventInt(result, message, "notEqual", a, b); | |
} | |
function notEqual(bool a, bool b, string memory message) public returns (bool result) { | |
result = (a != b); | |
emit AssertionEventBool(result, message, "notEqual", a, b); | |
} | |
// TODO: only for certain versions of solc | |
//function notEqual(fixed a, fixed b, string message) public returns (bool result) { | |
// result = (a != b); | |
// emit AssertionEvent(result, message); | |
//} | |
// TODO: only for certain versions of solc | |
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) { | |
// result = (a != b); | |
// emit AssertionEvent(result, message); | |
//} | |
function notEqual(address a, address b, string memory message) public returns (bool result) { | |
result = (a != b); | |
emit AssertionEventAddress(result, message, "notEqual", a, b); | |
} | |
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) { | |
result = (a != b); | |
emit AssertionEventBytes32(result, message, "notEqual", a, b); | |
} | |
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) { | |
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))); | |
emit AssertionEventString(result, message, "notEqual", a, b); | |
} | |
/*----------------- Greater than --------------------*/ | |
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
result = (a > b); | |
emit AssertionEventUint(result, message, "greaterThan", a, b); | |
} | |
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) { | |
result = (a > b); | |
emit AssertionEventInt(result, message, "greaterThan", a, b); | |
} | |
// TODO: safely compare between uint and int | |
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) { | |
if(b < int(0)) { | |
// int is negative uint "a" always greater | |
result = true; | |
} else { | |
result = (a > uint(b)); | |
} | |
emit AssertionEventUintInt(result, message, "greaterThan", a, b); | |
} | |
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) { | |
if(a < int(0)) { | |
// int is negative uint "b" always greater | |
result = false; | |
} else { | |
result = (uint(a) > b); | |
} | |
emit AssertionEventIntUint(result, message, "greaterThan", a, b); | |
} | |
/*----------------- Lesser than --------------------*/ | |
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
result = (a < b); | |
emit AssertionEventUint(result, message, "lesserThan", a, b); | |
} | |
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) { | |
result = (a < b); | |
emit AssertionEventInt(result, message, "lesserThan", a, b); | |
} | |
// TODO: safely compare between uint and int | |
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) { | |
if(b < int(0)) { | |
// int is negative int "b" always lesser | |
result = false; | |
} else { | |
result = (a < uint(b)); | |
} | |
emit AssertionEventUintInt(result, message, "lesserThan", a, b); | |
} | |
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) { | |
if(a < int(0)) { | |
// int is negative int "a" always lesser | |
result = true; | |
} else { | |
result = (uint(a) < b); | |
} | |
emit AssertionEventIntUint(result, message, "lesserThan", a, b); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": { | |
"@_18": { | |
"entryPoint": null, | |
"id": 18, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_213": { | |
"entryPoint": null, | |
"id": 213, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_491": { | |
"entryPoint": null, | |
"id": 491, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_699": { | |
"entryPoint": null, | |
"id": 699, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_75": { | |
"entryPoint": null, | |
"id": 75, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_transferOwnership_159": { | |
"entryPoint": 726, | |
"id": 159, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1087, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1201, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1126, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1240, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1029, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2": { | |
"entryPoint": 1046, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2": { | |
"entryPoint": 1160, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:2132:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "103:73:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "120:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "125:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "113:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "113:19:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "113:19:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "141:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "160:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "165:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "156:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "156:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "141:11:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "75:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "80:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "91:11:7", | |
"type": "" | |
} | |
], | |
"src": "7:169:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "288:68:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "318:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "306:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "306:14:7" | |
}, | |
{ | |
"hexValue": "43616e6e6f7420736574206f776e657220746f207a65726f", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "322:26:7", | |
"type": "", | |
"value": "Cannot set owner to zero" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "299:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "299:50:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "299:50:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "280:6:7", | |
"type": "" | |
} | |
], | |
"src": "182:174:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "508:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "518:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "584:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "589:2:7", | |
"type": "", | |
"value": "24" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "525:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "525:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "518:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "690:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2", | |
"nodeType": "YulIdentifier", | |
"src": "601:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "601:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "601:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "703:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "714:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "719:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "710:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "710:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "703:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "496:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "504:3:7", | |
"type": "" | |
} | |
], | |
"src": "362:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "905:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "915:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "927:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "938:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "923:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "923:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "915:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "962:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "973:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "958:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "958:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "981:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "987:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "977:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "977:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "951:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "951:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "951:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1007:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1141:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1015:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1015:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1007:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "885:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "900:4:7", | |
"type": "" | |
} | |
], | |
"src": "734:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1265:67:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1287:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1295:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1283:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1283:14:7" | |
}, | |
{ | |
"hexValue": "43616e6e6f74207472616e7366657220746f2073656c66", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1299:25:7", | |
"type": "", | |
"value": "Cannot transfer to self" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1276:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1276:49:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1276:49:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1257:6:7", | |
"type": "" | |
} | |
], | |
"src": "1159:173:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1484:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1494:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1560:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1565:2:7", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1501:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1501:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1494:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1666:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulIdentifier", | |
"src": "1577:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1577:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1577:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1679:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1690:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1695:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1686:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1686:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1679:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1472:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1480:3:7", | |
"type": "" | |
} | |
], | |
"src": "1338:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1881:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1891:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1903:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1914:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1899:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1899:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1891:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1938:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1949:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1934:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1934:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1957:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1963:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1953:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1953:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1927:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1927:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1927:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1983:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2117:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1991:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1991:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1983:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1861:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1876:4:7", | |
"type": "" | |
} | |
], | |
"src": "1710:419:7" | |
} | |
] | |
}, | |
"contents": "{\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot set owner to zero\")\n\n }\n\n function abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot transfer to self\")\n\n }\n\n function abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", | |
"id": 7, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60c0604052620186a0600560006101000a81548163ffffffff021916908363ffffffff1602179055506003600560046101000a81548161ffff021916908361ffff1602179055506002600560066101000a81548163ffffffff021916908363ffffffff16021790555073779877a7b0d9e8603169ddbd7836e478b46247896005600a6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ab18414cd93297b0d12ac29e63ca20f515b3db46600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200011f57600080fd5b50338060006005600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000246576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200023d9062000466565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620002cd57620002cc81620002d660201b60201c565b5b505050620004fa565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000347576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200033e90620004d8565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b60006200044e60188362000405565b91506200045b8262000416565b602082019050919050565b6000602082019050818103600083015262000481816200043f565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000620004c060178362000405565b9150620004cd8262000488565b602082019050919050565b60006020820190508181036000830152620004f381620004b1565b9050919050565b60805160a0516120c76200053c600039600081816102c501528181610e6e0152818161124a0152818161126b015261138b0152600061120e01526120c76000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638dc654a21161008c578063b21c793511610066578063b21c79351461023b578063d8a4676f14610257578063f2fde38b14610289578063fc2a88c3146102a5576100ea565b80638dc654a2146101e25780639aca2792146101ec578063a168fa891461020a576100ea565b80635229a6fd116100c85780635229a6fd1461016e57806379ba50971461018a5780638796ba8c146101945780638da5cb5b146101c4576100ea565b80631fe543e3146100ef57806325aa820b1461010b578063354cab621461013b575b600080fd5b6101096004803603810190610104919061162e565b6102c3565b005b610125600480360381019061012091906116e8565b61035f565b6040516101329190611737565b60405180910390f35b610155600480360381019061015091906116e8565b6105d8565b604051610165949392919061176d565b60405180910390f35b610188600480360381019061018391906117de565b61062f565b005b610192610766565b005b6101ae60048036038101906101a9919061181e565b6108fb565b6040516101bb9190611737565b60405180910390f35b6101cc61091f565b6040516101d9919061185a565b60405180910390f35b6101ea610948565b005b6101f4610ab0565b6040516102019190611737565b60405180910390f35b610224600480360381019061021f919061181e565b610ab6565b604051610232929190611875565b60405180910390f35b6102556004803603810190610250919061181e565b610ae7565b005b610271600480360381019061026c919061181e565b610be2565b6040516102809392919061195c565b60405180910390f35b6102a3600480360381019061029e919061199a565b610cfc565b005b6102ad610d10565b6040516102ba9190611737565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611a24565b60405180910390fd5b61035b8282610d16565b5050565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002090508060020160019054906101000a900460ff16156103d55760009150506105d2565b6000806103e58360000154610be2565b9250925050816103fb57600093505050506105d2565b6000815167ffffffffffffffff811115610418576104176114eb565b5b6040519080825280602002602001820160405280156104465781602001602082028036833780820191505090505b50905060005b82518110156104ac57603683828151811061046a57610469611a44565b5b602002602001015161047c9190611aa2565b82828151811061048f5761048e611a44565b5b602002602001018181525050806104a590611b02565b905061044c565b50806001815181106104c1576104c0611a44565b5b6020026020010151816000815181106104dd576104dc611a44565b5b6020026020010151036104fa5783600101549450505050506105d2565b8060018151811061050e5761050d611a44565b5b60200260200101518160008151811061052a57610529611a44565b5b602002602001015111801561054d57508360020160009054906101000a900460ff165b806105a857508060018151811061056757610566611a44565b5b60200260200101518160008151811061058357610582611a44565b5b60200260200101511080156105a757508360020160009054906101000a900460ff16155b5b156105c957600284600101546105be9190611b4a565b9450505050506105d2565b60009450505050505b92915050565b6007602052816000526040600020602052806000526040600020600091509150508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60006008600081548092919061064490611b02565b9190505590506000610654610e1e565b90506040518060800160405280828152602001848152602001851515815260200160001515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690831515021790555060608201518160020160016101000a81548160ff0219169083151502179055509050507f98faca7f4ecb02029479b61f140b7ba7343a64c792508884a23d2a92846adfc7338584846040516107589493929190611b8c565b60405180910390a150505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed90611c1d565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6003818154811061090b57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61095061104e565b60006005600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109cd919061185a565b602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611c52565b6040518363ffffffff1660e01b8152600401610a2b929190611c7f565b6020604051808303816000875af1158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611cbd565b610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa490611d36565b60405180910390fd5b50565b60085481565b60026020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16905082565b6000610af3338361035f565b90506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002090508060020160019054906101000a900460ff1615610b92576040517fd70a0e3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000821115610bdd577f1ff60751a354563b8db02f735046d6cecdd1ec33b27b453a7925da806b529adb3384836000015485604051610bd49493929190611d56565b60405180910390a15b505050565b60008060606000600260008681526020019081526020016000206000015411610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611de7565b60405180910390fd5b600060026000868152602001908152602001600020604051806060016040529081600082015481526020016001820160009054906101000a900460ff1615151515815260200160028201805480602002602001604051908101604052809291908181526020018280548015610cd457602002820191906000526020600020905b815481526020019060010190808311610cc0575b5050505050815250509050806000015181602001518260400151935093509350509193909250565b610d0461104e565b610d0d816110de565b50565b60045481565b6000600260008481526020019081526020016000206000015411610d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6690611de7565b60405180910390fd5b60016002600084815260200190815260200160002060010160006101000a81548160ff02191690831515021790555080600260008481526020019081526020016000206002019080519060200190610dc8929190611421565b507f147eb1ff0c82f87f2b03e2c43f5a36488ff63ec6b730195fde4605f612f8db5182826002600086815260200190815260200160002060000154604051610e1293929190611e07565b60405180910390a15050565b6000610e5f600560009054906101000a900463ffffffff16600560049054906101000a900461ffff16600560069054906101000a900463ffffffff1661120a565b905060405180606001604052807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634306d354600560009054906101000a900463ffffffff166040518263ffffffff1660e01b8152600401610ed79190611e64565b602060405180830381865afa158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611c52565b8152602001600015158152602001600067ffffffffffffffff811115610f4157610f406114eb565b5b604051908082528060200260200182016040528015610f6f5781602001602082028036833780820191505090505b50815250600260008381526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055506040820151816002019080519060200190610fcc929190611421565b509050506003819080600181540180825580915050600190039060005260206000200160009091909190915055806004819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600560069054906101000a900463ffffffff16604051611043929190611e7f565b60405180910390a190565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d390611ef4565b60405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114390611f60565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634306d354886040518263ffffffff1660e01b81526004016112c29190611e64565b602060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190611c52565b87878760405160200161131893929190611f9d565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161134593929190612053565b6020604051808303816000875af1158015611364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113889190611cbd565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fc2a88c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611c52565b90509392505050565b82805482825590600052602060002090810192821561145d579160200282015b8281111561145c578251825591602001919060010190611441565b5b50905061146a919061146e565b5090565b5b8082111561148757600081600090555060010161146f565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6114b28161149f565b81146114bd57600080fd5b50565b6000813590506114cf816114a9565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611523826114da565b810181811067ffffffffffffffff82111715611542576115416114eb565b5b80604052505050565b600061155561148b565b9050611561828261151a565b919050565b600067ffffffffffffffff821115611581576115806114eb565b5b602082029050602081019050919050565b600080fd5b60006115aa6115a584611566565b61154b565b905080838252602082019050602084028301858111156115cd576115cc611592565b5b835b818110156115f657806115e288826114c0565b8452602084019350506020810190506115cf565b5050509392505050565b600082601f830112611615576116146114d5565b5b8135611625848260208601611597565b91505092915050565b6000806040838503121561164557611644611495565b5b6000611653858286016114c0565b925050602083013567ffffffffffffffff8111156116745761167361149a565b5b61168085828601611600565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116b58261168a565b9050919050565b6116c5816116aa565b81146116d057600080fd5b50565b6000813590506116e2816116bc565b92915050565b600080604083850312156116ff576116fe611495565b5b600061170d858286016116d3565b925050602061171e858286016114c0565b9150509250929050565b6117318161149f565b82525050565b600060208201905061174c6000830184611728565b92915050565b60008115159050919050565b61176781611752565b82525050565b60006080820190506117826000830187611728565b61178f6020830186611728565b61179c604083018561175e565b6117a9606083018461175e565b95945050505050565b6117bb81611752565b81146117c657600080fd5b50565b6000813590506117d8816117b2565b92915050565b600080604083850312156117f5576117f4611495565b5b6000611803858286016117c9565b9250506020611814858286016114c0565b9150509250929050565b60006020828403121561183457611833611495565b5b6000611842848285016114c0565b91505092915050565b611854816116aa565b82525050565b600060208201905061186f600083018461184b565b92915050565b600060408201905061188a6000830185611728565b611897602083018461175e565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118d38161149f565b82525050565b60006118e583836118ca565b60208301905092915050565b6000602082019050919050565b60006119098261189e565b61191381856118a9565b935061191e836118ba565b8060005b8381101561194f57815161193688826118d9565b9750611941836118f1565b925050600181019050611922565b5085935050505092915050565b60006060820190506119716000830186611728565b61197e602083018561175e565b818103604083015261199081846118fe565b9050949350505050565b6000602082840312156119b0576119af611495565b5b60006119be848285016116d3565b91505092915050565b600082825260208201905092915050565b7f6f6e6c792056524620563220777261707065722063616e2066756c66696c6c00600082015250565b6000611a0e601f836119c7565b9150611a19826119d8565b602082019050919050565b60006020820190508181036000830152611a3d81611a01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611aad8261149f565b9150611ab88361149f565b925082611ac857611ac7611a73565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b0d8261149f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b3f57611b3e611ad3565b5b600182019050919050565b6000611b558261149f565b9150611b608361149f565b9250828202611b6e8161149f565b91508282048414831517611b8557611b84611ad3565b5b5092915050565b6000608082019050611ba1600083018761184b565b611bae602083018661175e565b611bbb6040830185611728565b611bc86060830184611728565b95945050505050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000611c076016836119c7565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b600081519050611c4c816114a9565b92915050565b600060208284031215611c6857611c67611495565b5b6000611c7684828501611c3d565b91505092915050565b6000604082019050611c94600083018561184b565b611ca16020830184611728565b9392505050565b600081519050611cb7816117b2565b92915050565b600060208284031215611cd357611cd2611495565b5b6000611ce184828501611ca8565b91505092915050565b7f556e61626c6520746f207472616e736665720000000000000000000000000000600082015250565b6000611d206012836119c7565b9150611d2b82611cea565b602082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b6000608082019050611d6b600083018761184b565b611d786020830186611728565b611d856040830185611728565b611d926060830184611728565b95945050505050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b6000611dd16011836119c7565b9150611ddc82611d9b565b602082019050919050565b60006020820190508181036000830152611e0081611dc4565b9050919050565b6000606082019050611e1c6000830186611728565b8181036020830152611e2e81856118fe565b9050611e3d6040830184611728565b949350505050565b600063ffffffff82169050919050565b611e5e81611e45565b82525050565b6000602082019050611e796000830184611e55565b92915050565b6000604082019050611e946000830185611728565b611ea16020830184611e55565b9392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b6000611ede6016836119c7565b9150611ee982611ea8565b602082019050919050565b60006020820190508181036000830152611f0d81611ed1565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000611f4a6017836119c7565b9150611f5582611f14565b602082019050919050565b60006020820190508181036000830152611f7981611f3d565b9050919050565b600061ffff82169050919050565b611f9781611f80565b82525050565b6000606082019050611fb26000830186611e55565b611fbf6020830185611f8e565b611fcc6040830184611e55565b949350505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561200e578082015181840152602081019050611ff3565b60008484015250505050565b600061202582611fd4565b61202f8185611fdf565b935061203f818560208601611ff0565b612048816114da565b840191505092915050565b6000606082019050612068600083018661184b565b6120756020830185611728565b8181036040830152612087818461201a565b905094935050505056fea2646970667358221220c02f57c9467348b20b49b4cf668930336ff9c966a87028367aa4431bc11a994364736f6c63430008120033", | |
"opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH3 0x186A0 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x5 PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH2 0xFFFF MUL NOT AND SWAP1 DUP4 PUSH2 0xFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x5 PUSH1 0x6 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH20 0x779877A7B0D9E8603169DDBD7836E478B4624789 PUSH1 0x5 PUSH1 0xA PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH20 0xAB18414CD93297B0D12AC29E63CA20F515B3DB46 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER DUP1 PUSH1 0x0 PUSH1 0x5 PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x246 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x23D SWAP1 PUSH3 0x466 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT 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 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x2CD JUMPI PUSH3 0x2CC DUP2 PUSH3 0x2D6 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST JUMPDEST POP POP POP PUSH3 0x4FA JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x347 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x33E SWAP1 PUSH3 0x4D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F7420736574206F776E657220746F207A65726F0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x44E PUSH1 0x18 DUP4 PUSH3 0x405 JUMP JUMPDEST SWAP2 POP PUSH3 0x45B DUP3 PUSH3 0x416 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x481 DUP2 PUSH3 0x43F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C0 PUSH1 0x17 DUP4 PUSH3 0x405 JUMP JUMPDEST SWAP2 POP PUSH3 0x4CD DUP3 PUSH3 0x488 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x4F3 DUP2 PUSH3 0x4B1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x20C7 PUSH3 0x53C PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x2C5 ADD MSTORE DUP2 DUP2 PUSH2 0xE6E ADD MSTORE DUP2 DUP2 PUSH2 0x124A ADD MSTORE DUP2 DUP2 PUSH2 0x126B ADD MSTORE PUSH2 0x138B ADD MSTORE PUSH1 0x0 PUSH2 0x120E ADD MSTORE PUSH2 0x20C7 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 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DC654A2 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xB21C7935 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xB21C7935 EQ PUSH2 0x23B JUMPI DUP1 PUSH4 0xD8A4676F EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0xFC2A88C3 EQ PUSH2 0x2A5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x9ACA2792 EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0xA168FA89 EQ PUSH2 0x20A JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x5229A6FD GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x5229A6FD EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x79BA5097 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x8796BA8C EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C4 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x25AA820B EQ PUSH2 0x10B JUMPI DUP1 PUSH4 0x354CAB62 EQ PUSH2 0x13B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x109 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x104 SWAP2 SWAP1 PUSH2 0x162E JUMP JUMPDEST PUSH2 0x2C3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x125 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x120 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x132 SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x155 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH2 0x5D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x176D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x17DE JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x192 PUSH2 0x766 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0x8FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH2 0x948 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F4 PUSH2 0xAB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x201 SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x224 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x21F SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xAB6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x232 SWAP3 SWAP2 SWAP1 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x255 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x250 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xAE7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x271 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x26C SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x280 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x195C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29E SWAP2 SWAP1 PUSH2 0x199A JUMP JUMPDEST PUSH2 0xCFC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AD PUSH2 0xD10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2BA SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x351 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x348 SWAP1 PUSH2 0x1A24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35B DUP3 DUP3 PUSH2 0xD16 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x7 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E5 DUP4 PUSH1 0x0 ADD SLOAD PUSH2 0xBE2 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP DUP2 PUSH2 0x3FB JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x418 JUMPI PUSH2 0x417 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x446 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x36 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1AA2 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x48F JUMPI PUSH2 0x48E PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 PUSH2 0x4A5 SWAP1 PUSH2 0x1B02 JUMP JUMPDEST SWAP1 POP PUSH2 0x44C JUMP JUMPDEST POP DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x4DD JUMPI PUSH2 0x4DC PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x4FA JUMPI DUP4 PUSH1 0x1 ADD SLOAD SWAP5 POP POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x50E JUMPI PUSH2 0x50D PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x52A JUMPI PUSH2 0x529 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT DUP1 ISZERO PUSH2 0x54D JUMPI POP DUP4 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x5A8 JUMPI POP DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x567 JUMPI PUSH2 0x566 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x583 JUMPI PUSH2 0x582 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT DUP1 ISZERO PUSH2 0x5A7 JUMPI POP DUP4 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST JUMPDEST ISZERO PUSH2 0x5C9 JUMPI PUSH1 0x2 DUP5 PUSH1 0x1 ADD SLOAD PUSH2 0x5BE SWAP2 SWAP1 PUSH2 0x1B4A JUMP JUMPDEST SWAP5 POP POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 SWAP5 POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x644 SWAP1 PUSH2 0x1B02 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x0 PUSH2 0x654 PUSH2 0xE1E JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP6 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH32 0x98FACA7F4ECB02029479B61F140B7BA7343A64C792508884A23D2A92846ADFC7 CALLER DUP6 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x758 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7F6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7ED SWAP1 PUSH2 0x1C1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x950 PUSH2 0x104E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB CALLER DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9CD SWAP2 SWAP1 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0E SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2B SWAP3 SWAP2 SWAP1 PUSH2 0x1C7F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA6E SWAP2 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0xAAD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAA4 SWAP1 PUSH2 0x1D36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAF3 CALLER DUP4 PUSH2 0x35F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xB92 JUMPI PUSH1 0x40 MLOAD PUSH32 0xD70A0E3000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO PUSH2 0xBDD JUMPI PUSH32 0x1FF60751A354563B8DB02F735046D6CECDD1EC33B27B453A7925DA806B529ADB CALLER DUP5 DUP4 PUSH1 0x0 ADD SLOAD DUP6 PUSH1 0x40 MLOAD PUSH2 0xBD4 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xC40 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC37 SWAP1 PUSH2 0x1DE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0xCD4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xCC0 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 PUSH1 0x0 ADD MLOAD DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD SWAP4 POP SWAP4 POP SWAP4 POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH2 0xD04 PUSH2 0x104E JUMP JUMPDEST PUSH2 0xD0D DUP2 PUSH2 0x10DE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xD6F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD66 SWAP1 PUSH2 0x1DE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xDC8 SWAP3 SWAP2 SWAP1 PUSH2 0x1421 JUMP JUMPDEST POP PUSH32 0x147EB1FF0C82F87F2B03E2C43F5A36488FF63EC6B730195FDE4605F612F8DB51 DUP3 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0xE12 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E07 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE5F PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x5 PUSH1 0x4 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND PUSH1 0x5 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH2 0x120A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4306D354 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xED7 SWAP2 SWAP1 PUSH2 0x1E64 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF18 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF41 JUMPI PUSH2 0xF40 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF6F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP DUP2 MSTORE POP PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xFCC SWAP3 SWAP2 SWAP1 PUSH2 0x1421 JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x3 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE DUP1 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xCC58B13AD3EAB50626C6A6300B1D139CD6EBB1688A7CCED9461C2F7E762665EE DUP2 PUSH1 0x5 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1043 SWAP3 SWAP2 SWAP1 PUSH2 0x1E7F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x10DC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D3 SWAP1 PUSH2 0x1EF4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x114C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1143 SWAP1 PUSH2 0x1F60 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 PUSH32 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4306D354 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C2 SWAP2 SWAP1 PUSH2 0x1E64 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1303 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1318 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1345 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2053 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1388 SWAP2 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFC2A88C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1418 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x145D JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x145C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1441 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x146A SWAP2 SWAP1 PUSH2 0x146E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1487 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x146F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14B2 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP2 EQ PUSH2 0x14BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14CF DUP2 PUSH2 0x14A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1523 DUP3 PUSH2 0x14DA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1542 JUMPI PUSH2 0x1541 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1555 PUSH2 0x148B JUMP JUMPDEST SWAP1 POP PUSH2 0x1561 DUP3 DUP3 PUSH2 0x151A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1581 JUMPI PUSH2 0x1580 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x15AA PUSH2 0x15A5 DUP5 PUSH2 0x1566 JUMP JUMPDEST PUSH2 0x154B JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x15CD JUMPI PUSH2 0x15CC PUSH2 0x1592 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x15F6 JUMPI DUP1 PUSH2 0x15E2 DUP9 DUP3 PUSH2 0x14C0 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x15CF JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1615 JUMPI PUSH2 0x1614 PUSH2 0x14D5 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1625 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1597 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1645 JUMPI PUSH2 0x1644 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1653 DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1674 JUMPI PUSH2 0x1673 PUSH2 0x149A JUMP JUMPDEST JUMPDEST PUSH2 0x1680 DUP6 DUP3 DUP7 ADD PUSH2 0x1600 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B5 DUP3 PUSH2 0x168A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16C5 DUP2 PUSH2 0x16AA JUMP JUMPDEST DUP2 EQ PUSH2 0x16D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16E2 DUP2 PUSH2 0x16BC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16FF JUMPI PUSH2 0x16FE PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x170D DUP6 DUP3 DUP7 ADD PUSH2 0x16D3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x171E DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1731 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x174C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1767 DUP2 PUSH2 0x1752 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1782 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x178F PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x179C PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x175E JUMP JUMPDEST PUSH2 0x17A9 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x175E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17BB DUP2 PUSH2 0x1752 JUMP JUMPDEST DUP2 EQ PUSH2 0x17C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x17D8 DUP2 PUSH2 0x17B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17F5 JUMPI PUSH2 0x17F4 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1803 DUP6 DUP3 DUP7 ADD PUSH2 0x17C9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1814 DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1834 JUMPI PUSH2 0x1833 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1842 DUP5 DUP3 DUP6 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1854 DUP2 PUSH2 0x16AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x186F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x184B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x188A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1897 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x175E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18D3 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18E5 DUP4 DUP4 PUSH2 0x18CA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1909 DUP3 PUSH2 0x189E JUMP JUMPDEST PUSH2 0x1913 DUP2 DUP6 PUSH2 0x18A9 JUMP JUMPDEST SWAP4 POP PUSH2 0x191E DUP4 PUSH2 0x18BA JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x194F JUMPI DUP2 MLOAD PUSH2 0x1936 DUP9 DUP3 PUSH2 0x18D9 JUMP JUMPDEST SWAP8 POP PUSH2 0x1941 DUP4 PUSH2 0x18F1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1922 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1971 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x197E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x175E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1990 DUP2 DUP5 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19BE DUP5 DUP3 DUP6 ADD PUSH2 0x16D3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x6F6E6C792056524620563220777261707065722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A0E PUSH1 0x1F DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A19 DUP3 PUSH2 0x19D8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A3D DUP2 PUSH2 0x1A01 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1AAD DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH2 0x1AB8 DUP4 PUSH2 0x149F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1AC8 JUMPI PUSH2 0x1AC7 PUSH2 0x1A73 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B0D DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1B3F JUMPI PUSH2 0x1B3E PUSH2 0x1AD3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B55 DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH2 0x1B60 DUP4 PUSH2 0x149F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1B6E DUP2 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1B85 JUMPI PUSH2 0x1B84 PUSH2 0x1AD3 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1BA1 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1BAE PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x175E JUMP JUMPDEST PUSH2 0x1BBB PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1BC8 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4D7573742062652070726F706F736564206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C07 PUSH1 0x16 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C12 DUP3 PUSH2 0x1BD1 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1C36 DUP2 PUSH2 0x1BFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4C DUP2 PUSH2 0x14A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C68 JUMPI PUSH2 0x1C67 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C76 DUP5 DUP3 DUP6 ADD PUSH2 0x1C3D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1C94 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1CA1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1CB7 DUP2 PUSH2 0x17B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD3 JUMPI PUSH2 0x1CD2 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CE1 DUP5 DUP3 DUP6 ADD PUSH2 0x1CA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665720000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 PUSH1 0x12 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D2B DUP3 PUSH2 0x1CEA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D4F DUP2 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1D6B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1D78 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1D85 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1D92 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x72657175657374206E6F7420666F756E64000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DD1 PUSH1 0x11 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DDC DUP3 PUSH2 0x1D9B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E00 DUP2 PUSH2 0x1DC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1E1C PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E2E DUP2 DUP6 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH2 0x1E3D PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E5E DUP2 PUSH2 0x1E45 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E79 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1E94 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1EA1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4F6E6C792063616C6C61626C65206279206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EDE PUSH1 0x16 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EE9 DUP3 PUSH2 0x1EA8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F0D DUP2 PUSH2 0x1ED1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F4A PUSH1 0x17 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F55 DUP3 PUSH2 0x1F14 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F79 DUP2 PUSH2 0x1F3D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F97 DUP2 PUSH2 0x1F80 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1FB2 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1E55 JUMP JUMPDEST PUSH2 0x1FBF PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x1F8E JUMP JUMPDEST PUSH2 0x1FCC PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x200E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FF3 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2025 DUP3 PUSH2 0x1FD4 JUMP JUMPDEST PUSH2 0x202F DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP4 POP PUSH2 0x203F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1FF0 JUMP JUMPDEST PUSH2 0x2048 DUP2 PUSH2 0x14DA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2068 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x2075 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2087 DUP2 DUP5 PUSH2 0x201A JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC0 0x2F JUMPI 0xC9 CHAINID PUSH20 0x48B20B49B4CF668930336FF9C966A87028367AA4 NUMBER SHL 0xC1 BYTE SWAP10 NUMBER PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "4597:2267:6:-:0;;;1636:6;1610:32;;;;;;;;;;;;;;;;;;;;1733:1;1703:31;;;;;;;;;;;;;;;;;;;;1884:1;1866:19;;;;;;;;;;;;;;;;;;;;1958:42;1936:64;;;;;;;;;;;;;;;;;;;;2079:42;2054:67;;;;;;;;;;;;;;;;;;;;5059:45;;;;;;;;;;2165:10;327:8:0;345:1;2210:11:6;;;;;;;;;;;2223:14;;;;;;;;;;;1938:5:2;1912:32;;;;;;;;;;1989:13;1950:53;;;;;;;;;;1856:152;;572:1:1;552:22;;:8;:22;;;544:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;620:8;610:7;;:18;;;;;;;;;;;;;;;;;;662:1;638:26;;:12;:26;;;634:79;;674:32;693:12;674:18;;;:32;;:::i;:::-;634:79;486:231;;270:81:0;4597:2267:6;;1497:188:1;1565:10;1559:16;;:2;:16;;;1551:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:2;1610:14;;:19;;;;;;;;;;;;;;;;;;1677:2;1641:39;;1668:7;;;;;;;;;;1641:39;;;;;;;;;;;;1497:188;:::o;7:169:7:-;91:11;125:6;120:3;113:19;165:4;160:3;156:14;141:29;;7:169;;;;:::o;182:174::-;322:26;318:1;310:6;306:14;299:50;182:174;:::o;362:366::-;504:3;525:67;589:2;584:3;525:67;:::i;:::-;518:74;;601:93;690:3;601:93;:::i;:::-;719:2;714:3;710:12;703:19;;362:366;;;:::o;734:419::-;900:4;938:2;927:9;923:18;915:26;;987:9;981:4;977:20;973:1;962:9;958:17;951:47;1015:131;1141:4;1015:131;:::i;:::-;1007:139;;734:419;;;:::o;1159:173::-;1299:25;1295:1;1287:6;1283:14;1276:49;1159:173;:::o;1338:366::-;1480:3;1501:67;1565:2;1560:3;1501:67;:::i;:::-;1494:74;;1577:93;1666:3;1577:93;:::i;:::-;1695:2;1690:3;1686:12;1679:19;;1338:366;;;:::o;1710:419::-;1876:4;1914:2;1903:9;1899:18;1891:26;;1963:9;1957:4;1953:20;1949:1;1938:9;1934:17;1927:47;1991:131;2117:4;1991:131;:::i;:::-;1983:139;;1710:419;;;:::o;4597:2267:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_transferOwnership_159": { | |
"entryPoint": 4318, | |
"id": 159, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_validateOwnership_172": { | |
"entryPoint": 4174, | |
"id": 172, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@acceptOwnership_125": { | |
"entryPoint": 1894, | |
"id": 125, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@betData_691": { | |
"entryPoint": 1496, | |
"id": 691, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@bet_739": { | |
"entryPoint": 1583, | |
"id": 739, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@fulfillRandomWords_582": { | |
"entryPoint": 3350, | |
"id": 582, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@getRequestStatus_620": { | |
"entryPoint": 3042, | |
"id": 620, | |
"parameterSlots": 1, | |
"returnSlots": 3 | |
}, | |
"@lastRequestId_464": { | |
"entryPoint": 3344, | |
"id": 464, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@nextBetId_693": { | |
"entryPoint": 2736, | |
"id": 693, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_135": { | |
"entryPoint": 2335, | |
"id": 135, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@rawFulfillRandomWords_283": { | |
"entryPoint": 707, | |
"id": 283, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@requestIds_462": { | |
"entryPoint": 2299, | |
"id": 462, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@requestRandomWords2_539": { | |
"entryPoint": 3614, | |
"id": 539, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@requestRandomness_249": { | |
"entryPoint": 4618, | |
"id": 249, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"@s_requests_459": { | |
"entryPoint": 2742, | |
"id": 459, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@transferOwnership_89": { | |
"entryPoint": 3324, | |
"id": 89, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@viewPayout_856": { | |
"entryPoint": 863, | |
"id": 856, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@withdrawLink_650": { | |
"entryPoint": 2376, | |
"id": 650, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdrawPayout_899": { | |
"entryPoint": 2791, | |
"id": 899, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 5527, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 5843, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 5632, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bool": { | |
"entryPoint": 6089, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bool_fromMemory": { | |
"entryPoint": 7336, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 5312, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 7229, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 6554, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_addresst_uint256": { | |
"entryPoint": 5864, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_bool_fromMemory": { | |
"entryPoint": 7357, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_boolt_uint256": { | |
"entryPoint": 6110, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 6174, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256_fromMemory": { | |
"entryPoint": 7250, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 5678, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
"entryPoint": 6361, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 6219, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 6398, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 5982, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 8218, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 7620, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 7162, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 7889, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 7443, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 7997, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 6657, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint16_to_t_uint16_fromStack": { | |
"entryPoint": 8078, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256": { | |
"entryPoint": 6346, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 5928, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint32_to_t_uint32_fromStack": { | |
"entryPoint": 7765, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 6234, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_bool_t_uint256_t_uint256__to_t_address_t_bool_t_uint256_t_uint256__fromStack_reversed": { | |
"entryPoint": 7052, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { | |
"entryPoint": 7295, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { | |
"entryPoint": 8275, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { | |
"entryPoint": 7510, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 7655, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 7197, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 7924, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 7478, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 8032, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 6692, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 5943, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed": { | |
"entryPoint": 7687, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed": { | |
"entryPoint": 6261, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
"entryPoint": 6492, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_uint256_t_bool_t_bool__to_t_uint256_t_uint256_t_bool_t_bool__fromStack_reversed": { | |
"entryPoint": 5997, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed": { | |
"entryPoint": 7807, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed": { | |
"entryPoint": 7780, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint32_t_uint16_t_uint32__to_t_uint32_t_uint16_t_uint32__fromStack_reversed": { | |
"entryPoint": 8093, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 5451, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 5259, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 5478, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 6330, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 6302, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_bytes_memory_ptr": { | |
"entryPoint": 8148, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 6385, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 6313, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 8159, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 6599, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_uint256": { | |
"entryPoint": 6986, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 5802, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 5970, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint16": { | |
"entryPoint": 8064, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 5770, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 5279, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint32": { | |
"entryPoint": 7749, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 8176, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 5402, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"increment_t_uint256": { | |
"entryPoint": 6914, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mod_t_uint256": { | |
"entryPoint": 6818, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 6867, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 6771, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x32": { | |
"entryPoint": 6724, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 5355, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 5333, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { | |
"entryPoint": 5522, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 5274, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 5269, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 5338, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b": { | |
"entryPoint": 7579, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c": { | |
"entryPoint": 7121, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3": { | |
"entryPoint": 7848, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1": { | |
"entryPoint": 7402, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2": { | |
"entryPoint": 7956, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845": { | |
"entryPoint": 6616, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 5820, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bool": { | |
"entryPoint": 6066, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 5289, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:23509:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:7", | |
"type": "" | |
} | |
], | |
"src": "7:75:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:7" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:7" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "379:32:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "389:16:7", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "400:5:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "361:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "371:7:7", | |
"type": "" | |
} | |
], | |
"src": "334:77:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "460:79:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "517:16:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "526:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "529:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "519:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "519:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "519:12:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "483:5:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "508:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "490:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "490:24:7" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "480:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "480:35:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "473:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "473:43:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "470:63:7" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "453:5:7", | |
"type": "" | |
} | |
], | |
"src": "417:122:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "597:87:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "607:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "629:6:7" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "616:12:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "616:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "607:5:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "672:5:7" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "645:26:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "645:33:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "645:33:7" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "575:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "583:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "591:5:7", | |
"type": "" | |
} | |
], | |
"src": "545:139:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "779:28:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "796:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "799:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:12:7" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "690:117:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "861:54:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "871:38:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "889:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "896:2:7", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "885:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "885:14:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "905:2:7", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "901:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "901:7:7" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "881:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "881:28:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "871:6:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "844:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "854:6:7", | |
"type": "" | |
} | |
], | |
"src": "813:102:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "949:152:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "966:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "969:77:7", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "959:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "959:88:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "959:88:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1063:1:7", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1066:4:7", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1056:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1056:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1056:15:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1087:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1090:4:7", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1080:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1080:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1080:15:7" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "921:180:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1150:238:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1160:58:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1182:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1212:4:7" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "1190:21:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1190:27:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1178:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1178:40:7" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "1164:10:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1329:22:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "1331:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1331:18:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1331:18:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1272:10:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1284:18:7", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1269:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1269:34:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1308:10:7" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1320:6:7" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "1305:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1305:22:7" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "1266:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1266:62:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "1263:88:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1367:2:7", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1371:10:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1360:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1360:22:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1360:22:7" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1136:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1144:4:7", | |
"type": "" | |
} | |
], | |
"src": "1107:281:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1435:88:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1445:30:7", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "1455:18:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1455:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1445:6:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1504:6:7" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1512:4:7" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "1484:19:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1484:33:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1484:33:7" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1419:4:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1428:6:7", | |
"type": "" | |
} | |
], | |
"src": "1394:129:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1611:229:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1716:22:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "1718:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1718:18:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1718:18:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1688:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1696:18:7", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1685:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1685:30:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "1682:56:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1748:25:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1760:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1768:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "1756:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1756:17:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1748:4:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1810:23:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1822:4:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1828:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1818:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1818:15:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1810:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1595:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1606:4:7", | |
"type": "" | |
} | |
], | |
"src": "1529:311:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1935:28:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1952:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1955:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1945:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1945:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1945:12:7" | |
} | |
] | |
}, | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1846:117:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2088:608:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2098:90:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2180:6:7" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2123:56:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2123:64:7" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "2107:15:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2107:81:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2098:5:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2197:16:7", | |
"value": { | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2208:5:7" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "2201:3:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2230:5:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2237:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2223:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2223:21:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2223:21:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2253:23:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2264:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2271:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2260:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2260:16:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2253:3:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2286:44:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2304:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2316:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2324:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "2312:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2312:17:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2300:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2300:30:7" | |
}, | |
"variables": [ | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulTypedName", | |
"src": "2290:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2358:103:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulIdentifier", | |
"src": "2372:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2372:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2372:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2345:6:7" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2353:3:7" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2342:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2342:15:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "2339:122:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2546:144:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2561:21:7", | |
"value": { | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2579:3:7" | |
}, | |
"variables": [ | |
{ | |
"name": "elementPos", | |
"nodeType": "YulTypedName", | |
"src": "2565:10:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2603:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "elementPos", | |
"nodeType": "YulIdentifier", | |
"src": "2629:10:7" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2641:3:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2608:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2608:37:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2596:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2596:50:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2596:50:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2659:21:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2670:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2675:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2666:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2666:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2659:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2499:3:7" | |
}, | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2504:6:7" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "2496:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2496:15:7" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "2512:25:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2514:21:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2525:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2530:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2521:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2521:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2514:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "2474:21:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2476:17:7", | |
"value": { | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2487:6:7" | |
}, | |
"variables": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "2480:3:7", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "2470:220:7" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2058:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2066:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2074:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "2082:5:7", | |
"type": "" | |
} | |
], | |
"src": "1986:710:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2796:293:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2845:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "2847:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2847:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2847:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2824:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2832:4:7", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2820:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2820:17:7" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2839:3:7" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2816:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2816:27:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2809:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2809:35:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "2806:122:7" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2937:34:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2964:6:7" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2951:12:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2951:20:7" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2941:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2980:103:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3056:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3064:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3052:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3052:17:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3071:6:7" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3079:3:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2989:62:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2989:94:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2980:5:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2774:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2782:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "2790:5:7", | |
"type": "" | |
} | |
], | |
"src": "2719:370:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3203:576:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3249:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "3251:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3251:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3251:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3224:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3233:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3220:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3220:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3245:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "3216:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3216:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "3213:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3342:117:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3357:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3371:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3361:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3386:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3421:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3432:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3417:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3417:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3441:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3396:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3396:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3386:6:7" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3469:303:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3484:46:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3515:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3526:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3511:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3511:18:7" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "3498:12:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3498:32:7" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3488:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3577:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "3579:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3579:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3579:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3549:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3557:18:7", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "3546:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3546:30:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "3543:117:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3674:88:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3734:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3745:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3730:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3730:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3754:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3684:45:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3684:78:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "3674:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3165:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "3176:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3188:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "3196:6:7", | |
"type": "" | |
} | |
], | |
"src": "3095:684:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3830:81:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3840:65:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3855:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3862:42:7", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "3851:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3851:54:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3840:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3812:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3822:7:7", | |
"type": "" | |
} | |
], | |
"src": "3785:126:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3962:51:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3972:35:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4001:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "3983:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3983:24:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "3972:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3944:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "3954:7:7", | |
"type": "" | |
} | |
], | |
"src": "3917:96:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4062:79:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4119:16:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4128:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4131:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4121:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4121:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4121:12:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4085:5:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4110:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4092:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4092:24:7" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4082:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4082:35:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4075:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4075:43:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "4072:63:7" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4055:5:7", | |
"type": "" | |
} | |
], | |
"src": "4019:122:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4199:87:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4209:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "4231:6:7" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "4218:12:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4218:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4209:5:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4274:5:7" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4247:26:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4247:33:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4247:33:7" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4177:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4185:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4193:5:7", | |
"type": "" | |
} | |
], | |
"src": "4147:139:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4375:391:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4421:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "4423:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4423:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4423:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "4396:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4405:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "4392:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4392:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4417:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "4388:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4388:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "4385:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "4514:117:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4529:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4543:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4533:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4558:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4593:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "4604:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4589:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4589:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "4613:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4568:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4568:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4558:6:7" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "4641:118:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4656:16:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4670:2:7", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4660:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4686:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4721:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "4732:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4717:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4717:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "4741:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4696:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4696:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "4686:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_addresst_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4337:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "4348:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4360:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "4368:6:7", | |
"type": "" | |
} | |
], | |
"src": "4292:474:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4837:53:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4854:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4877:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4859:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4859:24:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4847:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4847:37:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4847:37:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4825:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4832:3:7", | |
"type": "" | |
} | |
], | |
"src": "4772:118:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4994:124:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5004:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5016:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5027:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5012:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5012:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5004:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5084:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5097:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5108:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5093:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5093:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5040:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5040:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5040:71:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4966:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4978:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4989:4:7", | |
"type": "" | |
} | |
], | |
"src": "4896:222:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5166:48:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5176:32:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5201:5:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5194:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5194:13:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5187:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5187:21:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5176:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5148:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5158:7:7", | |
"type": "" | |
} | |
], | |
"src": "5124:90:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5279:50:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5296:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5316:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "5301:14:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5301:21:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5289:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5289:34:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5289:34:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5267:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5274:3:7", | |
"type": "" | |
} | |
], | |
"src": "5220:109:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5505:359:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5515:27:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5527:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5538:3:7", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5523:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5523:19:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5515:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5596:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5609:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5620:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5605:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5605:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5552:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5552:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5552:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "5677:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5690:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5701:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5686:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5686:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5633:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5633:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5633:72:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "5753:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5766:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5777:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5762:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5762:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5715:37:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5715:66:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5715:66:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "5829:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5842:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5853:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5838:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5838:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5791:37:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5791:66:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5791:66:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint256_t_bool_t_bool__to_t_uint256_t_uint256_t_bool_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5453:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "5465:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "5473:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "5481:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5489:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5500:4:7", | |
"type": "" | |
} | |
], | |
"src": "5335:529:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5910:76:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5964:16:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5973:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5976:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5966:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5966:12:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5966:12:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5933:5:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5955:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "5940:14:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5940:21:7" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5930:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5930:32:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5923:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5923:40:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "5920:60:7" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5903:5:7", | |
"type": "" | |
} | |
], | |
"src": "5870:116:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6041:84:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6051:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6073:6:7" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "6060:12:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6060:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6051:5:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6113:5:7" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "6089:23:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6089:30:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6089:30:7" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6019:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6027:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6035:5:7", | |
"type": "" | |
} | |
], | |
"src": "5992:133:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6211:388:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6257:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "6259:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6259:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6259:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6232:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6241:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6228:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6228:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6253:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "6224:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6224:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "6221:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6350:114:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6365:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6379:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6369:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6394:60:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6426:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6437:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6422:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6422:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6446:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "6404:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6404:50:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6394:6:7" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6474:118:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6489:16:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6503:2:7", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6493:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6519:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6554:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6565:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6550:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6550:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6574:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6529:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6529:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6519:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_boolt_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6173:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "6184:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6196:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "6204:6:7", | |
"type": "" | |
} | |
], | |
"src": "6131:468:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6671:263:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6717:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "6719:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6719:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6719:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6692:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6701:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "6688:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6688:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6713:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "6684:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6684:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "6681:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6810:117:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6825:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6839:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6829:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6854:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6889:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6900:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6885:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6885:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6909:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6864:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6864:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6854:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6641:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "6652:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6664:6:7", | |
"type": "" | |
} | |
], | |
"src": "6605:329:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7005:53:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7022:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7045:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "7027:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7027:24:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7015:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7015:37:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7015:37:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6993:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7000:3:7", | |
"type": "" | |
} | |
], | |
"src": "6940:118:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7162:124:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7172:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7184:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7195:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7180:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7180:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7172:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7252:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7265:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7276:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7261:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7261:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7208:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7208:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7208:71:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7134:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7146:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7157:4:7", | |
"type": "" | |
} | |
], | |
"src": "7064:222:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7412:200:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7422:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7434:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7445:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7430:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7430:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7422:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7502:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7515:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7526:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7511:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7511:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7458:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7458:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7458:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7577:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7590:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7601:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7586:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7586:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7539:37:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7539:66:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7539:66:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7376:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7388:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7396:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7407:4:7", | |
"type": "" | |
} | |
], | |
"src": "7292:320:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7692:40:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7703:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7719:5:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "7713:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7713:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7703:6:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7675:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7685:6:7", | |
"type": "" | |
} | |
], | |
"src": "7618:114:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7849:73:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7866:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "7871:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7859:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7859:19:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7859:19:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7887:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7906:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7911:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7902:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7902:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "7887:11:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7821:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "7826:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "7837:11:7", | |
"type": "" | |
} | |
], | |
"src": "7738:184:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8000:60:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8010:11:7", | |
"value": { | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "8018:3:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "8010:4:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8031:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "8043:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8048:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8039:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8039:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "8031:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "7987:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "7995:4:7", | |
"type": "" | |
} | |
], | |
"src": "7928:132:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8121:53:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8138:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8161:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "8143:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8143:24:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8131:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8131:37:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8131:37:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8109:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8116:3:7", | |
"type": "" | |
} | |
], | |
"src": "8066:108:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8260:99:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8304:6:7" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8312:3:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "8270:33:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8270:46:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8270:46:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8325:28:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8343:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8348:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8339:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8339:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulIdentifier", | |
"src": "8325:10:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8233:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8241:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulTypedName", | |
"src": "8249:10:7", | |
"type": "" | |
} | |
], | |
"src": "8180:179:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8440:38:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8450:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "8462:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8467:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8458:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8458:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "next", | |
"nodeType": "YulIdentifier", | |
"src": "8450:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "8427:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "next", | |
"nodeType": "YulTypedName", | |
"src": "8435:4:7", | |
"type": "" | |
} | |
], | |
"src": "8365:113:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8638:608:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "8648:68:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8710:5:7" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "8662:47:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8662:54:7" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8652:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8725:93:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8806:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8811:6:7" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8732:73:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8732:86:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8725:3:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "8827:71:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "8892:5:7" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "8842:49:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8842:56:7" | |
}, | |
"variables": [ | |
{ | |
"name": "baseRef", | |
"nodeType": "YulTypedName", | |
"src": "8831:7:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "8907:21:7", | |
"value": { | |
"name": "baseRef", | |
"nodeType": "YulIdentifier", | |
"src": "8921:7:7" | |
}, | |
"variables": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulTypedName", | |
"src": "8911:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8997:224:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "9011:34:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9038:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "9032:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9032:13:7" | |
}, | |
"variables": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulTypedName", | |
"src": "9015:13:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9058:70:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulIdentifier", | |
"src": "9109:13:7" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9124:3:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "9065:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9065:63:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9058:3:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9141:70:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9204:6:7" | |
} | |
], | |
"functionName": { | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "9151:52:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9151:60:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9141:6:7" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "8959:1:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8962:6:7" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "8956:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8956:13:7" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "8970:18:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8972:14:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "8981:1:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8984:1:7", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8977:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8977:9:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "8972:1:7" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "8941:14:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "8943:10:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8952:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "8947:1:7", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "8937:284:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9230:10:7", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9237:3:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9230:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "8617:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8624:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "8633:3:7", | |
"type": "" | |
} | |
], | |
"src": "8514:732:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9450:383:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9460:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9472:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9483:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9468:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9468:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9460:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9540:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9553:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9564:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9549:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9549:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9496:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9496:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9496:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9615:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9628:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9639:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9624:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9624:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9577:37:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9577:66:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9577:66:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9664:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9675:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9660:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9660:18:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9684:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9690:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9680:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9680:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9653:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9653:48:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9653:48:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9710:116:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "9812:6:7" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9821:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9718:93:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9718:108:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9710:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9406:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "9418:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "9426:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9434:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9445:4:7", | |
"type": "" | |
} | |
], | |
"src": "9252:581:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9905:263:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9951:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "9953:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9953:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9953:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "9926:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9935:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9922:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9922:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9947:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "9918:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9918:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "9915:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "10044:117:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "10059:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10073:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "10063:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10088:63:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10123:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "10134:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10119:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10119:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "10143:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "10098:20:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10098:53:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10088:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9875:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "9886:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9898:6:7", | |
"type": "" | |
} | |
], | |
"src": "9839:329:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10270:73:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10287:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "10292:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10280:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10280:19:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10280:19:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10308:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10327:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10332:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10323:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10323:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "10308:11:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10242:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "10247:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "10258:11:7", | |
"type": "" | |
} | |
], | |
"src": "10174:169:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10455:75:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10477:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10485:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10473:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10473:14:7" | |
}, | |
{ | |
"hexValue": "6f6e6c792056524620563220777261707065722063616e2066756c66696c6c", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "10489:33:7", | |
"type": "", | |
"value": "only VRF V2 wrapper can fulfill" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10466:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10466:57:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10466:57:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "10447:6:7", | |
"type": "" | |
} | |
], | |
"src": "10349:181:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10682:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10692:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10758:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10763:2:7", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10699:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10699:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10692:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10864:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845", | |
"nodeType": "YulIdentifier", | |
"src": "10775:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10775:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10775:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10877:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10888:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10893:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10884:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10884:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "10877:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10670:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "10678:3:7", | |
"type": "" | |
} | |
], | |
"src": "10536:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11079:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11089:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11101:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11112:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11097:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11097:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11089:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11136:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11147:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11132:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11132:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11155:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11161:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11151:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11151:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11125:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11125:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11125:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11181:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11315:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11189:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11189:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11181:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11059:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11074:4:7", | |
"type": "" | |
} | |
], | |
"src": "10908:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11361:152:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11378:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11381:77:7", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11371:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11371:88:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11371:88:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11475:1:7", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11478:4:7", | |
"type": "", | |
"value": "0x32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11468:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11468:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11468:15:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11499:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11502:4:7", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11492:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11492:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11492:15:7" | |
} | |
] | |
}, | |
"name": "panic_error_0x32", | |
"nodeType": "YulFunctionDefinition", | |
"src": "11333:180:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11547:152:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11564:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11567:77:7", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11557:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11557:88:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11557:88:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11661:1:7", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11664:4:7", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11654:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11654:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11654:15:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11685:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11688:4:7", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "11678:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11678:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11678:15:7" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "11519:180:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11739:142:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11749:25:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11772:1:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11754:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11754:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11749:1:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11783:25:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11806:1:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11788:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11788:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11783:1:7" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11830:22:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "11832:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11832:18:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11832:18:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11827:1:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "11820:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11820:9:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "11817:35:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11861:14:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11870:1:7" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11873:1:7" | |
} | |
], | |
"functionName": { | |
"name": "mod", | |
"nodeType": "YulIdentifier", | |
"src": "11866:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11866:9:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "11861:1:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mod_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "11728:1:7", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "11731:1:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "11737:1:7", | |
"type": "" | |
} | |
], | |
"src": "11705:176:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11915:152:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11932:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11935:77:7", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11925:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11925:88:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11925:88:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12029:1:7", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12032:4:7", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "12022:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12022:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12022:15:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12053:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12056:4:7", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "12046:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12046:15:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12046:15:7" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "11887:180:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12116:190:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12126:33:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12153:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "12135:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12135:24:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12126:5:7" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12249:22:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "12251:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12251:18:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12251:18:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12174:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12181:66:7", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "12171:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12171:77:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "12168:103:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12280:20:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12291:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12298:1:7", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12287:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12287:13:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "12280:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "increment_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12102:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "12112:3:7", | |
"type": "" | |
} | |
], | |
"src": "12073:233:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12360:362:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12370:25:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "12393:1:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "12375:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12375:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "12370:1:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12404:25:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "12427:1:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "12409:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12409:20:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "12404:1:7" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "12438:28:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "12461:1:7" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "12464:1:7" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "12457:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12457:9:7" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "12442:11:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12475:41:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "12504:11:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "12486:17:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12486:30:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "12475:7:7" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12693:22:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "12695:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12695:18:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12695:18:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "12626:1:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12619:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12619:9:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "12649:1:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "12656:7:7" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "12665:1:7" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "12652:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12652:15:7" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "12646:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12646:22:7" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "12599:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12599:83:7" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12579:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12579:113:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "12576:139:7" | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "12343:1:7", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "12346:1:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "12352:7:7", | |
"type": "" | |
} | |
], | |
"src": "12312:410:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12904:365:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12914:27:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12926:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12937:3:7", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12922:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12922:19:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12914:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12995:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13008:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13019:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13004:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13004:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12951:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12951:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12951:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "13070:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13083:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13094:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13079:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13079:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13032:37:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13032:66:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13032:66:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "13152:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13165:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13176:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13161:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13161:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13108:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13108:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13108:72:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "13234:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13247:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13258:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13243:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13243:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13190:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13190:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13190:72:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_bool_t_uint256_t_uint256__to_t_address_t_bool_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12852:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "12864:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "12872:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "12880:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12888:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12899:4:7", | |
"type": "" | |
} | |
], | |
"src": "12728:541:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13381:66:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13403:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13411:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13399:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13399:14:7" | |
}, | |
{ | |
"hexValue": "4d7573742062652070726f706f736564206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "13415:24:7", | |
"type": "", | |
"value": "Must be proposed owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13392:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13392:48:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13392:48:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "13373:6:7", | |
"type": "" | |
} | |
], | |
"src": "13275:172:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13599:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13609:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13675:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13680:2:7", | |
"type": "", | |
"value": "22" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13616:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13616:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13609:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13781:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c", | |
"nodeType": "YulIdentifier", | |
"src": "13692:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13692:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13692:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13794:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13805:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13810:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13801:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13801:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "13794:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13587:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "13595:3:7", | |
"type": "" | |
} | |
], | |
"src": "13453:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13996:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14006:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14018:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14029:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14014:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14014:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14006:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14053:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14064:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14049:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14049:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14072:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14078:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14068:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14068:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14042:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14042:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14042:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14098:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14232:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14106:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14106:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14098:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13976:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13991:4:7", | |
"type": "" | |
} | |
], | |
"src": "13825:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14313:80:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14323:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "14338:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "14332:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14332:13:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14323:5:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14381:5:7" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "14354:26:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14354:33:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14354:33:7" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "14291:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "14299:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14307:5:7", | |
"type": "" | |
} | |
], | |
"src": "14250:143:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14476:274:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14522:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "14524:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14524:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14524:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "14497:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14506:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14493:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14493:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14518:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "14489:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14489:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "14486:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "14615:128:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "14630:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14644:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "14634:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14659:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14705:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "14716:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14701:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14701:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "14725:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "14669:31:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14669:64:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "14659:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14446:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "14457:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "14469:6:7", | |
"type": "" | |
} | |
], | |
"src": "14399:351:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14882:206:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14892:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14904:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14915:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14900:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14900:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14892:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "14972:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14985:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14996:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14981:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14981:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14928:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14928:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14928:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "15053:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15066:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15077:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15062:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15062:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15009:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15009:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15009:72:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14846:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "14858:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "14866:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14877:4:7", | |
"type": "" | |
} | |
], | |
"src": "14756:332:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15154:77:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15164:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "15179:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "15173:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15173:13:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15164:5:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15219:5:7" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "15195:23:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15195:30:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15195:30:7" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "15132:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "15140:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15148:5:7", | |
"type": "" | |
} | |
], | |
"src": "15094:137:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15311:271:7", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15357:83:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "15359:77:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15359:79:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15359:79:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "15332:7:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15341:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15328:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15328:23:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15353:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "15324:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15324:32:7" | |
}, | |
"nodeType": "YulIf", | |
"src": "15321:119:7" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "15450:125:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "15465:15:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15479:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "15469:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15494:71:7", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15537:9:7" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "15548:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15533:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15533:22:7" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "15557:7:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "15504:28:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15504:61:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "15494:6:7" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15281:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "15292:7:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "15304:6:7", | |
"type": "" | |
} | |
], | |
"src": "15237:345:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15694:62:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15716:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15724:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15712:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15712:14:7" | |
}, | |
{ | |
"hexValue": "556e61626c6520746f207472616e73666572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15728:20:7", | |
"type": "", | |
"value": "Unable to transfer" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15705:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15705:44:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15705:44:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15686:6:7", | |
"type": "" | |
} | |
], | |
"src": "15588:168:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15908:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15918:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "15984:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15989:2:7", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15925:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15925:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "15918:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "16090:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1", | |
"nodeType": "YulIdentifier", | |
"src": "16001:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16001:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16001:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16103:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "16114:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16119:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16110:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16110:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "16103:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "15896:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "15904:3:7", | |
"type": "" | |
} | |
], | |
"src": "15762:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16305:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16315:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16327:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16338:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16323:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16323:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16315:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16362:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16373:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16358:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16358:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16381:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16387:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "16377:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16377:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16351:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16351:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16351:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16407:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16541:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16415:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16415:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16407:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16285:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16300:4:7", | |
"type": "" | |
} | |
], | |
"src": "16134:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16741:371:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16751:27:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16763:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16774:3:7", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16759:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16759:19:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "16751:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "16832:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16845:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16856:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16841:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16841:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16788:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16788:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16788:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "16913:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "16926:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16937:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16922:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16922:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16869:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16869:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16869:72:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "16995:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17008:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17019:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17004:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17004:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "16951:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16951:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16951:72:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "17077:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17090:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17101:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17086:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17086:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17033:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17033:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17033:72:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "16689:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "16701:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "16709:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "16717:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "16725:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "16736:4:7", | |
"type": "" | |
} | |
], | |
"src": "16559:553:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17224:61:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "17246:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17254:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17242:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17242:14:7" | |
}, | |
{ | |
"hexValue": "72657175657374206e6f7420666f756e64", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "17258:19:7", | |
"type": "", | |
"value": "request not found" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17235:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17235:43:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17235:43:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "17216:6:7", | |
"type": "" | |
} | |
], | |
"src": "17118:167:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17437:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17447:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "17513:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17518:2:7", | |
"type": "", | |
"value": "17" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17454:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17454:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "17447:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "17619:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b", | |
"nodeType": "YulIdentifier", | |
"src": "17530:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17530:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17530:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17632:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "17643:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17648:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17639:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17639:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "17632:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "17425:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "17433:3:7", | |
"type": "" | |
} | |
], | |
"src": "17291:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17834:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17844:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17856:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17867:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17852:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17852:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17844:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17891:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17902:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17887:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17887:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17910:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "17916:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "17906:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17906:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17880:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17880:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17880:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "17936:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18070:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "17944:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17944:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "17936:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "17814:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "17829:4:7", | |
"type": "" | |
} | |
], | |
"src": "17663:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18292:389:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18302:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18314:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18325:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18310:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18310:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18302:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "18382:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18395:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18406:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18391:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18391:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "18338:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18338:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18338:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18430:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18441:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18426:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18426:18:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18450:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18456:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "18446:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18446:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18419:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18419:48:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18419:48:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18476:116:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "18578:6:7" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18587:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "18484:93:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18484:108:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "18476:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "18646:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "18659:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18670:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "18655:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18655:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "18602:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18602:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18602:72:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "18248:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "18260:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "18268:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "18276:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "18287:4:7", | |
"type": "" | |
} | |
], | |
"src": "18088:593:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18731:49:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "18741:33:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "18756:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "18763:10:7", | |
"type": "", | |
"value": "0xffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "18752:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18752:22:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "18741:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "18713:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "18723:7:7", | |
"type": "" | |
} | |
], | |
"src": "18687:93:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "18849:52:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "18866:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "18888:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint32", | |
"nodeType": "YulIdentifier", | |
"src": "18871:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18871:23:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "18859:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "18859:36:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "18859:36:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "18837:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "18844:3:7", | |
"type": "" | |
} | |
], | |
"src": "18786:115:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19003:122:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19013:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "19025:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19036:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19021:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19021:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "19013:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "19091:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "19104:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19115:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19100:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19100:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "19049:41:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19049:69:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19049:69:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "18975:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "18987:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "18998:4:7", | |
"type": "" | |
} | |
], | |
"src": "18907:218:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19255:204:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19265:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "19277:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19288:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19273:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19273:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "19265:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "19345:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "19358:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19369:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19354:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19354:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "19301:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19301:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19301:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "19424:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "19437:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19448:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19433:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19433:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "19382:41:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19382:70:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19382:70:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "19219:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "19231:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "19239:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "19250:4:7", | |
"type": "" | |
} | |
], | |
"src": "19131:328:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19571:66:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "19593:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19601:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19589:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19589:14:7" | |
}, | |
{ | |
"hexValue": "4f6e6c792063616c6c61626c65206279206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "19605:24:7", | |
"type": "", | |
"value": "Only callable by owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "19582:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19582:48:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19582:48:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "19563:6:7", | |
"type": "" | |
} | |
], | |
"src": "19465:172:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "19789:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19799:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19865:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "19870:2:7", | |
"type": "", | |
"value": "22" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "19806:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19806:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19799:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19971:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3", | |
"nodeType": "YulIdentifier", | |
"src": "19882:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19882:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "19882:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "19984:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "19995:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20000:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "19991:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "19991:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "19984:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "19777:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "19785:3:7", | |
"type": "" | |
} | |
], | |
"src": "19643:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20186:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20196:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "20208:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20219:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20204:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20204:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "20196:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "20243:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20254:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20239:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20239:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "20262:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "20268:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "20258:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20258:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "20232:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20232:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20232:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20288:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "20422:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "20296:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20296:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "20288:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "20166:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "20181:4:7", | |
"type": "" | |
} | |
], | |
"src": "20015:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20546:67:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "20568:6:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20576:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20564:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20564:14:7" | |
}, | |
{ | |
"hexValue": "43616e6e6f74207472616e7366657220746f2073656c66", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "20580:25:7", | |
"type": "", | |
"value": "Cannot transfer to self" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "20557:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20557:49:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20557:49:7" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "20538:6:7", | |
"type": "" | |
} | |
], | |
"src": "20440:173:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "20765:220:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20775:74:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "20841:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20846:2:7", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "20782:58:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20782:67:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "20775:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "20947:3:7" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulIdentifier", | |
"src": "20858:88:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20858:93:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "20858:93:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "20960:19:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "20971:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "20976:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "20967:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "20967:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "20960:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "20753:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "20761:3:7", | |
"type": "" | |
} | |
], | |
"src": "20619:366:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21162:248:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21172:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21184:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21195:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21180:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21180:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "21172:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21219:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21230:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21215:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21215:17:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "21238:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21244:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "21234:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21234:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21208:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21208:47:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21208:47:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21264:139:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "21398:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "21272:124:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21272:131:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "21264:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "21142:9:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "21157:4:7", | |
"type": "" | |
} | |
], | |
"src": "20991:419:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21460:45:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21470:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21485:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21492:6:7", | |
"type": "", | |
"value": "0xffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "21481:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21481:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "21470:7:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint16", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21442:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "21452:7:7", | |
"type": "" | |
} | |
], | |
"src": "21416:89:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21574:52:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "21591:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "21613:5:7" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint16", | |
"nodeType": "YulIdentifier", | |
"src": "21596:16:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21596:23:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "21584:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21584:36:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21584:36:7" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint16_to_t_uint16_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "21562:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "21569:3:7", | |
"type": "" | |
} | |
], | |
"src": "21511:115:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "21780:282:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "21790:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21802:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21813:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21798:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21798:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "21790:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "21868:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21881:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21892:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21877:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21877:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "21826:41:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21826:69:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21826:69:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "21947:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "21960:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "21971:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "21956:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21956:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint16_to_t_uint16_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "21905:41:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21905:70:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21905:70:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "22027:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "22040:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22051:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22036:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22036:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "21985:41:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "21985:70:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "21985:70:7" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint32_t_uint16_t_uint32__to_t_uint32_t_uint16_t_uint32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "21736:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "21748:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "21756:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "21764:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "21775:4:7", | |
"type": "" | |
} | |
], | |
"src": "21632:430:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22126:40:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22137:22:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22153:5:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "22147:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22147:12:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22137:6:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "22109:5:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "22119:6:7", | |
"type": "" | |
} | |
], | |
"src": "22068:98:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22267:73:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22284:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22289:6:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22277:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22277:19:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22277:19:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22305:29:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22324:3:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22329:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22320:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22320:14:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "22305:11:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "22239:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "22244:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "22255:11:7", | |
"type": "" | |
} | |
], | |
"src": "22172:168:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22408:184:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "22418:10:7", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22427:1:7", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "22422:1:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22487:63:7", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "22512:3:7" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "22517:1:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22508:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22508:11:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "22531:3:7" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "22536:1:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22527:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22527:11:7" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "22521:5:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22521:18:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22501:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22501:39:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22501:39:7" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "22448:1:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22451:6:7" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "22445:2:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22445:13:7" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "22459:19:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22461:15:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "22470:1:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22473:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22466:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22466:10:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "22461:1:7" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "22441:3:7", | |
"statements": [] | |
}, | |
"src": "22437:113:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "22570:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22575:6:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22566:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22566:16:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22584:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "22559:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22559:27:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22559:27:7" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "22390:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "22395:3:7", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "22400:6:7", | |
"type": "" | |
} | |
], | |
"src": "22346:246:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "22688:283:7", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "22698:52:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22744:5:7" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "22712:31:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22712:38:7" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "22702:6:7", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22759:77:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22824:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22829:6:7" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "22766:57:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22766:70:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22759:3:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "22884:5:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "22891:4:7", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22880:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22880:16:7" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22898:3:7" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22903:6:7" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nodeType": "YulIdentifier", | |
"src": "22845:34:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22845:65:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "22845:65:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "22919:46:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "22930:3:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "22957:6:7" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "22935:21:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22935:29:7" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "22926:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "22926:39:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "22919:3:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "22669:5:7", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "22676:3:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "22684:3:7", | |
"type": "" | |
} | |
], | |
"src": "22598:373:7" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "23149:357:7", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "23159:26:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "23171:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23182:2:7", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23167:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23167:18:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "23159:4:7" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "23239:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "23252:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23263:1:7", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23248:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23248:17:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "23195:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23195:71:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23195:71:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "23320:6:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "23333:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23344:2:7", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23329:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23329:18:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "23276:43:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23276:72:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23276:72:7" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "23369:9:7" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "23380:2:7", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "23365:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23365:18:7" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "23389:4:7" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "23395:9:7" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "23385:3:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23385:20:7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "23358:6:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23358:48:7" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "23358:48:7" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "23415:84:7", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "23485:6:7" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "23494:4:7" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "23423:61:7" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "23423:76:7" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "23415:4:7" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "23105:9:7", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "23117:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "23125:6:7", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "23133:6:7", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "23144:4:7", | |
"type": "" | |
} | |
], | |
"src": "22977:529:7" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_uint256_t_uint256_t_bool_t_bool__to_t_uint256_t_uint256_t_bool_t_bool__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_bool_to_t_bool_fromStack(value3, add(headStart, 96))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_boolt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_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_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_bool__to_t_uint256_t_bool__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value2, tail)\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845(memPtr) {\n\n mstore(add(memPtr, 0), \"only VRF V2 wrapper can fulfill\")\n\n }\n\n function abi_encode_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fa95521b046a2d95983c62c6e75719a4673781a4fe8781bb969717b747c5c845_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_address_t_bool_t_uint256_t_uint256__to_t_address_t_bool_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be proposed owner\")\n\n }\n\n function abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack( tail)\n\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_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1(memPtr) {\n\n mstore(add(memPtr, 0), \"Unable to transfer\")\n\n }\n\n function abi_encode_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8e1f7009e5aca473fdde21442dae29568050b67581f4b146dca8997db684dff1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b(memPtr) {\n\n mstore(add(memPtr, 0), \"request not found\")\n\n }\n\n function abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_uint32(value) -> cleaned {\n cleaned := and(value, 0xffffffff)\n }\n\n function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint32(value))\n }\n\n function abi_encode_tuple_t_uint32__to_t_uint32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3(memPtr) {\n\n mstore(add(memPtr, 0), \"Only callable by owner\")\n\n }\n\n function abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot transfer to self\")\n\n }\n\n function abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_uint16(value) -> cleaned {\n cleaned := and(value, 0xffff)\n }\n\n function abi_encode_t_uint16_to_t_uint16_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint16(value))\n }\n\n function abi_encode_tuple_t_uint32_t_uint16_t_uint32__to_t_uint32_t_uint16_t_uint32__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint16_to_t_uint16_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value2, add(headStart, 64))\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__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_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value2, tail)\n\n }\n\n}\n", | |
"id": 7, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": { | |
"189": [ | |
{ | |
"length": 32, | |
"start": 4622 | |
} | |
], | |
"192": [ | |
{ | |
"length": 32, | |
"start": 709 | |
}, | |
{ | |
"length": 32, | |
"start": 3694 | |
}, | |
{ | |
"length": 32, | |
"start": 4682 | |
}, | |
{ | |
"length": 32, | |
"start": 4715 | |
}, | |
{ | |
"length": 32, | |
"start": 5003 | |
} | |
] | |
}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638dc654a21161008c578063b21c793511610066578063b21c79351461023b578063d8a4676f14610257578063f2fde38b14610289578063fc2a88c3146102a5576100ea565b80638dc654a2146101e25780639aca2792146101ec578063a168fa891461020a576100ea565b80635229a6fd116100c85780635229a6fd1461016e57806379ba50971461018a5780638796ba8c146101945780638da5cb5b146101c4576100ea565b80631fe543e3146100ef57806325aa820b1461010b578063354cab621461013b575b600080fd5b6101096004803603810190610104919061162e565b6102c3565b005b610125600480360381019061012091906116e8565b61035f565b6040516101329190611737565b60405180910390f35b610155600480360381019061015091906116e8565b6105d8565b604051610165949392919061176d565b60405180910390f35b610188600480360381019061018391906117de565b61062f565b005b610192610766565b005b6101ae60048036038101906101a9919061181e565b6108fb565b6040516101bb9190611737565b60405180910390f35b6101cc61091f565b6040516101d9919061185a565b60405180910390f35b6101ea610948565b005b6101f4610ab0565b6040516102019190611737565b60405180910390f35b610224600480360381019061021f919061181e565b610ab6565b604051610232929190611875565b60405180910390f35b6102556004803603810190610250919061181e565b610ae7565b005b610271600480360381019061026c919061181e565b610be2565b6040516102809392919061195c565b60405180910390f35b6102a3600480360381019061029e919061199a565b610cfc565b005b6102ad610d10565b6040516102ba9190611737565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890611a24565b60405180910390fd5b61035b8282610d16565b5050565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002090508060020160019054906101000a900460ff16156103d55760009150506105d2565b6000806103e58360000154610be2565b9250925050816103fb57600093505050506105d2565b6000815167ffffffffffffffff811115610418576104176114eb565b5b6040519080825280602002602001820160405280156104465781602001602082028036833780820191505090505b50905060005b82518110156104ac57603683828151811061046a57610469611a44565b5b602002602001015161047c9190611aa2565b82828151811061048f5761048e611a44565b5b602002602001018181525050806104a590611b02565b905061044c565b50806001815181106104c1576104c0611a44565b5b6020026020010151816000815181106104dd576104dc611a44565b5b6020026020010151036104fa5783600101549450505050506105d2565b8060018151811061050e5761050d611a44565b5b60200260200101518160008151811061052a57610529611a44565b5b602002602001015111801561054d57508360020160009054906101000a900460ff165b806105a857508060018151811061056757610566611a44565b5b60200260200101518160008151811061058357610582611a44565b5b60200260200101511080156105a757508360020160009054906101000a900460ff16155b5b156105c957600284600101546105be9190611b4a565b9450505050506105d2565b60009450505050505b92915050565b6007602052816000526040600020602052806000526040600020600091509150508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16905084565b60006008600081548092919061064490611b02565b9190505590506000610654610e1e565b90506040518060800160405280828152602001848152602001851515815260200160001515815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690831515021790555060608201518160020160016101000a81548160ff0219169083151502179055509050507f98faca7f4ecb02029479b61f140b7ba7343a64c792508884a23d2a92846adfc7338584846040516107589493929190611b8c565b60405180910390a150505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed90611c1d565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6003818154811061090b57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61095061104e565b60006005600a9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109cd919061185a565b602060405180830381865afa1580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611c52565b6040518363ffffffff1660e01b8152600401610a2b929190611c7f565b6020604051808303816000875af1158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611cbd565b610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa490611d36565b60405180910390fd5b50565b60085481565b60026020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16905082565b6000610af3338361035f565b90506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002090508060020160019054906101000a900460ff1615610b92576040517fd70a0e3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000821115610bdd577f1ff60751a354563b8db02f735046d6cecdd1ec33b27b453a7925da806b529adb3384836000015485604051610bd49493929190611d56565b60405180910390a15b505050565b60008060606000600260008681526020019081526020016000206000015411610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611de7565b60405180910390fd5b600060026000868152602001908152602001600020604051806060016040529081600082015481526020016001820160009054906101000a900460ff1615151515815260200160028201805480602002602001604051908101604052809291908181526020018280548015610cd457602002820191906000526020600020905b815481526020019060010190808311610cc0575b5050505050815250509050806000015181602001518260400151935093509350509193909250565b610d0461104e565b610d0d816110de565b50565b60045481565b6000600260008481526020019081526020016000206000015411610d6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6690611de7565b60405180910390fd5b60016002600084815260200190815260200160002060010160006101000a81548160ff02191690831515021790555080600260008481526020019081526020016000206002019080519060200190610dc8929190611421565b507f147eb1ff0c82f87f2b03e2c43f5a36488ff63ec6b730195fde4605f612f8db5182826002600086815260200190815260200160002060000154604051610e1293929190611e07565b60405180910390a15050565b6000610e5f600560009054906101000a900463ffffffff16600560049054906101000a900461ffff16600560069054906101000a900463ffffffff1661120a565b905060405180606001604052807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634306d354600560009054906101000a900463ffffffff166040518263ffffffff1660e01b8152600401610ed79190611e64565b602060405180830381865afa158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611c52565b8152602001600015158152602001600067ffffffffffffffff811115610f4157610f406114eb565b5b604051908082528060200260200182016040528015610f6f5781602001602082028036833780820191505090505b50815250600260008381526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055506040820151816002019080519060200190610fcc929190611421565b509050506003819080600181540180825580915050600190039060005260206000200160009091909190915055806004819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600560069054906101000a900463ffffffff16604051611043929190611e7f565b60405180910390a190565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d390611ef4565b60405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114390611f60565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634306d354886040518263ffffffff1660e01b81526004016112c29190611e64565b602060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190611c52565b87878760405160200161131893929190611f9d565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161134593929190612053565b6020604051808303816000875af1158015611364573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113889190611cbd565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fc2a88c36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114189190611c52565b90509392505050565b82805482825590600052602060002090810192821561145d579160200282015b8281111561145c578251825591602001919060010190611441565b5b50905061146a919061146e565b5090565b5b8082111561148757600081600090555060010161146f565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6114b28161149f565b81146114bd57600080fd5b50565b6000813590506114cf816114a9565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611523826114da565b810181811067ffffffffffffffff82111715611542576115416114eb565b5b80604052505050565b600061155561148b565b9050611561828261151a565b919050565b600067ffffffffffffffff821115611581576115806114eb565b5b602082029050602081019050919050565b600080fd5b60006115aa6115a584611566565b61154b565b905080838252602082019050602084028301858111156115cd576115cc611592565b5b835b818110156115f657806115e288826114c0565b8452602084019350506020810190506115cf565b5050509392505050565b600082601f830112611615576116146114d5565b5b8135611625848260208601611597565b91505092915050565b6000806040838503121561164557611644611495565b5b6000611653858286016114c0565b925050602083013567ffffffffffffffff8111156116745761167361149a565b5b61168085828601611600565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116b58261168a565b9050919050565b6116c5816116aa565b81146116d057600080fd5b50565b6000813590506116e2816116bc565b92915050565b600080604083850312156116ff576116fe611495565b5b600061170d858286016116d3565b925050602061171e858286016114c0565b9150509250929050565b6117318161149f565b82525050565b600060208201905061174c6000830184611728565b92915050565b60008115159050919050565b61176781611752565b82525050565b60006080820190506117826000830187611728565b61178f6020830186611728565b61179c604083018561175e565b6117a9606083018461175e565b95945050505050565b6117bb81611752565b81146117c657600080fd5b50565b6000813590506117d8816117b2565b92915050565b600080604083850312156117f5576117f4611495565b5b6000611803858286016117c9565b9250506020611814858286016114c0565b9150509250929050565b60006020828403121561183457611833611495565b5b6000611842848285016114c0565b91505092915050565b611854816116aa565b82525050565b600060208201905061186f600083018461184b565b92915050565b600060408201905061188a6000830185611728565b611897602083018461175e565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6118d38161149f565b82525050565b60006118e583836118ca565b60208301905092915050565b6000602082019050919050565b60006119098261189e565b61191381856118a9565b935061191e836118ba565b8060005b8381101561194f57815161193688826118d9565b9750611941836118f1565b925050600181019050611922565b5085935050505092915050565b60006060820190506119716000830186611728565b61197e602083018561175e565b818103604083015261199081846118fe565b9050949350505050565b6000602082840312156119b0576119af611495565b5b60006119be848285016116d3565b91505092915050565b600082825260208201905092915050565b7f6f6e6c792056524620563220777261707065722063616e2066756c66696c6c00600082015250565b6000611a0e601f836119c7565b9150611a19826119d8565b602082019050919050565b60006020820190508181036000830152611a3d81611a01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611aad8261149f565b9150611ab88361149f565b925082611ac857611ac7611a73565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b0d8261149f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b3f57611b3e611ad3565b5b600182019050919050565b6000611b558261149f565b9150611b608361149f565b9250828202611b6e8161149f565b91508282048414831517611b8557611b84611ad3565b5b5092915050565b6000608082019050611ba1600083018761184b565b611bae602083018661175e565b611bbb6040830185611728565b611bc86060830184611728565b95945050505050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000611c076016836119c7565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b600081519050611c4c816114a9565b92915050565b600060208284031215611c6857611c67611495565b5b6000611c7684828501611c3d565b91505092915050565b6000604082019050611c94600083018561184b565b611ca16020830184611728565b9392505050565b600081519050611cb7816117b2565b92915050565b600060208284031215611cd357611cd2611495565b5b6000611ce184828501611ca8565b91505092915050565b7f556e61626c6520746f207472616e736665720000000000000000000000000000600082015250565b6000611d206012836119c7565b9150611d2b82611cea565b602082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b6000608082019050611d6b600083018761184b565b611d786020830186611728565b611d856040830185611728565b611d926060830184611728565b95945050505050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b6000611dd16011836119c7565b9150611ddc82611d9b565b602082019050919050565b60006020820190508181036000830152611e0081611dc4565b9050919050565b6000606082019050611e1c6000830186611728565b8181036020830152611e2e81856118fe565b9050611e3d6040830184611728565b949350505050565b600063ffffffff82169050919050565b611e5e81611e45565b82525050565b6000602082019050611e796000830184611e55565b92915050565b6000604082019050611e946000830185611728565b611ea16020830184611e55565b9392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b6000611ede6016836119c7565b9150611ee982611ea8565b602082019050919050565b60006020820190508181036000830152611f0d81611ed1565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000611f4a6017836119c7565b9150611f5582611f14565b602082019050919050565b60006020820190508181036000830152611f7981611f3d565b9050919050565b600061ffff82169050919050565b611f9781611f80565b82525050565b6000606082019050611fb26000830186611e55565b611fbf6020830185611f8e565b611fcc6040830184611e55565b949350505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561200e578082015181840152602081019050611ff3565b60008484015250505050565b600061202582611fd4565b61202f8185611fdf565b935061203f818560208601611ff0565b612048816114da565b840191505092915050565b6000606082019050612068600083018661184b565b6120756020830185611728565b8181036040830152612087818461201a565b905094935050505056fea2646970667358221220c02f57c9467348b20b49b4cf668930336ff9c966a87028367aa4431bc11a994364736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DC654A2 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xB21C7935 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xB21C7935 EQ PUSH2 0x23B JUMPI DUP1 PUSH4 0xD8A4676F EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x289 JUMPI DUP1 PUSH4 0xFC2A88C3 EQ PUSH2 0x2A5 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x9ACA2792 EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0xA168FA89 EQ PUSH2 0x20A JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x5229A6FD GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x5229A6FD EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x79BA5097 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x8796BA8C EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C4 JUMPI PUSH2 0xEA JUMP JUMPDEST DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x25AA820B EQ PUSH2 0x10B JUMPI DUP1 PUSH4 0x354CAB62 EQ PUSH2 0x13B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x109 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x104 SWAP2 SWAP1 PUSH2 0x162E JUMP JUMPDEST PUSH2 0x2C3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x125 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x120 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x132 SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x155 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x16E8 JUMP JUMPDEST PUSH2 0x5D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x176D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x17DE JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x192 PUSH2 0x766 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A9 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0x8FB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BB SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CC PUSH2 0x91F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D9 SWAP2 SWAP1 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH2 0x948 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F4 PUSH2 0xAB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x201 SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x224 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x21F SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xAB6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x232 SWAP3 SWAP2 SWAP1 PUSH2 0x1875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x255 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x250 SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xAE7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x271 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x26C SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x280 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x195C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29E SWAP2 SWAP1 PUSH2 0x199A JUMP JUMPDEST PUSH2 0xCFC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2AD PUSH2 0xD10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2BA SWAP2 SWAP1 PUSH2 0x1737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x351 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x348 SWAP1 PUSH2 0x1A24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x35B DUP3 DUP3 PUSH2 0xD16 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x7 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3D5 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E5 DUP4 PUSH1 0x0 ADD SLOAD PUSH2 0xBE2 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP DUP2 PUSH2 0x3FB JUMPI PUSH1 0x0 SWAP4 POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x418 JUMPI PUSH2 0x417 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x446 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x36 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x46A JUMPI PUSH2 0x469 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x1AA2 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x48F JUMPI PUSH2 0x48E PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 PUSH2 0x4A5 SWAP1 PUSH2 0x1B02 JUMP JUMPDEST SWAP1 POP PUSH2 0x44C JUMP JUMPDEST POP DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x4C1 JUMPI PUSH2 0x4C0 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x4DD JUMPI PUSH2 0x4DC PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SUB PUSH2 0x4FA JUMPI DUP4 PUSH1 0x1 ADD SLOAD SWAP5 POP POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x50E JUMPI PUSH2 0x50D PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x52A JUMPI PUSH2 0x529 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD GT DUP1 ISZERO PUSH2 0x54D JUMPI POP DUP4 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x5A8 JUMPI POP DUP1 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x567 JUMPI PUSH2 0x566 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x583 JUMPI PUSH2 0x582 PUSH2 0x1A44 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD LT DUP1 ISZERO PUSH2 0x5A7 JUMPI POP DUP4 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO JUMPDEST JUMPDEST ISZERO PUSH2 0x5C9 JUMPI PUSH1 0x2 DUP5 PUSH1 0x1 ADD SLOAD PUSH2 0x5BE SWAP2 SWAP1 PUSH2 0x1B4A JUMP JUMPDEST SWAP5 POP POP POP POP POP PUSH2 0x5D2 JUMP JUMPDEST PUSH1 0x0 SWAP5 POP POP POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x644 SWAP1 PUSH2 0x1B02 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE SWAP1 POP PUSH1 0x0 PUSH2 0x654 PUSH2 0xE1E JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP6 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP1 POP POP PUSH32 0x98FACA7F4ECB02029479B61F140B7BA7343A64C792508884A23D2A92846ADFC7 CALLER DUP6 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x758 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B8C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7F6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7ED SWAP1 PUSH2 0x1C1D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x950 PUSH2 0x104E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0xA SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB CALLER DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9CD SWAP2 SWAP1 PUSH2 0x185A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9EA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA0E SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA2B SWAP3 SWAP2 SWAP1 PUSH2 0x1C7F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA6E SWAP2 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0xAAD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAA4 SWAP1 PUSH2 0x1D36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAF3 CALLER DUP4 PUSH2 0x35F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x2 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xB92 JUMPI PUSH1 0x40 MLOAD PUSH32 0xD70A0E3000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT ISZERO PUSH2 0xBDD JUMPI PUSH32 0x1FF60751A354563B8DB02F735046D6CECDD1EC33B27B453A7925DA806B529ADB CALLER DUP5 DUP4 PUSH1 0x0 ADD SLOAD DUP6 PUSH1 0x40 MLOAD PUSH2 0xBD4 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xC40 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC37 SWAP1 PUSH2 0x1DE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0xCD4 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xCC0 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 PUSH1 0x0 ADD MLOAD DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x40 ADD MLOAD SWAP4 POP SWAP4 POP SWAP4 POP POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST PUSH2 0xD04 PUSH2 0x104E JUMP JUMPDEST PUSH2 0xD0D DUP2 PUSH2 0x10DE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD GT PUSH2 0xD6F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD66 SWAP1 PUSH2 0x1DE7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xDC8 SWAP3 SWAP2 SWAP1 PUSH2 0x1421 JUMP JUMPDEST POP PUSH32 0x147EB1FF0C82F87F2B03E2C43F5A36488FF63EC6B730195FDE4605F612F8DB51 DUP3 DUP3 PUSH1 0x2 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0xE12 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1E07 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE5F PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x5 PUSH1 0x4 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND PUSH1 0x5 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH2 0x120A JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4306D354 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xED7 SWAP2 SWAP1 PUSH2 0x1E64 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xF18 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF41 JUMPI PUSH2 0xF40 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF6F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP DUP2 MSTORE POP PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xFCC SWAP3 SWAP2 SWAP1 PUSH2 0x1421 JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x3 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE DUP1 PUSH1 0x4 DUP2 SWAP1 SSTORE POP PUSH32 0xCC58B13AD3EAB50626C6A6300B1D139CD6EBB1688A7CCED9461C2F7E762665EE DUP2 PUSH1 0x5 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x1043 SWAP3 SWAP2 SWAP1 PUSH2 0x1E7F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x10DC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10D3 SWAP1 PUSH2 0x1EF4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x114C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1143 SWAP1 PUSH2 0x1F60 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 PUSH32 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4306D354 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12C2 SWAP2 SWAP1 PUSH2 0x1E64 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1303 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1318 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1345 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2053 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1364 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1388 SWAP2 SWAP1 PUSH2 0x1CBD JUMP JUMPDEST POP PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFC2A88C3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x13F4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1418 SWAP2 SWAP1 PUSH2 0x1C52 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x145D JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x145C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1441 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x146A SWAP2 SWAP1 PUSH2 0x146E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1487 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x146F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14B2 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP2 EQ PUSH2 0x14BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14CF DUP2 PUSH2 0x14A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1523 DUP3 PUSH2 0x14DA JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1542 JUMPI PUSH2 0x1541 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1555 PUSH2 0x148B JUMP JUMPDEST SWAP1 POP PUSH2 0x1561 DUP3 DUP3 PUSH2 0x151A JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1581 JUMPI PUSH2 0x1580 PUSH2 0x14EB JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x15AA PUSH2 0x15A5 DUP5 PUSH2 0x1566 JUMP JUMPDEST PUSH2 0x154B JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x15CD JUMPI PUSH2 0x15CC PUSH2 0x1592 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x15F6 JUMPI DUP1 PUSH2 0x15E2 DUP9 DUP3 PUSH2 0x14C0 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x15CF JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1615 JUMPI PUSH2 0x1614 PUSH2 0x14D5 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1625 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x1597 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1645 JUMPI PUSH2 0x1644 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1653 DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1674 JUMPI PUSH2 0x1673 PUSH2 0x149A JUMP JUMPDEST JUMPDEST PUSH2 0x1680 DUP6 DUP3 DUP7 ADD PUSH2 0x1600 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B5 DUP3 PUSH2 0x168A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16C5 DUP2 PUSH2 0x16AA JUMP JUMPDEST DUP2 EQ PUSH2 0x16D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x16E2 DUP2 PUSH2 0x16BC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16FF JUMPI PUSH2 0x16FE PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x170D DUP6 DUP3 DUP7 ADD PUSH2 0x16D3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x171E DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1731 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x174C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1767 DUP2 PUSH2 0x1752 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1782 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x178F PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x179C PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x175E JUMP JUMPDEST PUSH2 0x17A9 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x175E JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17BB DUP2 PUSH2 0x1752 JUMP JUMPDEST DUP2 EQ PUSH2 0x17C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x17D8 DUP2 PUSH2 0x17B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17F5 JUMPI PUSH2 0x17F4 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1803 DUP6 DUP3 DUP7 ADD PUSH2 0x17C9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1814 DUP6 DUP3 DUP7 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1834 JUMPI PUSH2 0x1833 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1842 DUP5 DUP3 DUP6 ADD PUSH2 0x14C0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1854 DUP2 PUSH2 0x16AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x186F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x184B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x188A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1897 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x175E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18D3 DUP2 PUSH2 0x149F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18E5 DUP4 DUP4 PUSH2 0x18CA JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1909 DUP3 PUSH2 0x189E JUMP JUMPDEST PUSH2 0x1913 DUP2 DUP6 PUSH2 0x18A9 JUMP JUMPDEST SWAP4 POP PUSH2 0x191E DUP4 PUSH2 0x18BA JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x194F JUMPI DUP2 MLOAD PUSH2 0x1936 DUP9 DUP3 PUSH2 0x18D9 JUMP JUMPDEST SWAP8 POP PUSH2 0x1941 DUP4 PUSH2 0x18F1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1922 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1971 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x197E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x175E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1990 DUP2 DUP5 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x19B0 JUMPI PUSH2 0x19AF PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x19BE DUP5 DUP3 DUP6 ADD PUSH2 0x16D3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x6F6E6C792056524620563220777261707065722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A0E PUSH1 0x1F DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A19 DUP3 PUSH2 0x19D8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1A3D DUP2 PUSH2 0x1A01 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1AAD DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH2 0x1AB8 DUP4 PUSH2 0x149F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1AC8 JUMPI PUSH2 0x1AC7 PUSH2 0x1A73 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1B0D DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1B3F JUMPI PUSH2 0x1B3E PUSH2 0x1AD3 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B55 DUP3 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP PUSH2 0x1B60 DUP4 PUSH2 0x149F JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x1B6E DUP2 PUSH2 0x149F JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x1B85 JUMPI PUSH2 0x1B84 PUSH2 0x1AD3 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1BA1 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1BAE PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x175E JUMP JUMPDEST PUSH2 0x1BBB PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1BC8 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4D7573742062652070726F706F736564206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C07 PUSH1 0x16 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C12 DUP3 PUSH2 0x1BD1 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1C36 DUP2 PUSH2 0x1BFA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4C DUP2 PUSH2 0x14A9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C68 JUMPI PUSH2 0x1C67 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C76 DUP5 DUP3 DUP6 ADD PUSH2 0x1C3D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1C94 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1CA1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1CB7 DUP2 PUSH2 0x17B2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CD3 JUMPI PUSH2 0x1CD2 PUSH2 0x1495 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1CE1 DUP5 DUP3 DUP6 ADD PUSH2 0x1CA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665720000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D20 PUSH1 0x12 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D2B DUP3 PUSH2 0x1CEA JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D4F DUP2 PUSH2 0x1D13 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1D6B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x1D78 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1D85 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1D92 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x72657175657374206E6F7420666F756E64000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DD1 PUSH1 0x11 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DDC DUP3 PUSH2 0x1D9B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E00 DUP2 PUSH2 0x1DC4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1E1C PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1728 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E2E DUP2 DUP6 PUSH2 0x18FE JUMP JUMPDEST SWAP1 POP PUSH2 0x1E3D PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1728 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E5E DUP2 PUSH2 0x1E45 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E79 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1E94 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST PUSH2 0x1EA1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4F6E6C792063616C6C61626C65206279206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EDE PUSH1 0x16 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1EE9 DUP3 PUSH2 0x1EA8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F0D DUP2 PUSH2 0x1ED1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F4A PUSH1 0x17 DUP4 PUSH2 0x19C7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F55 DUP3 PUSH2 0x1F14 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F79 DUP2 PUSH2 0x1F3D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1F97 DUP2 PUSH2 0x1F80 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1FB2 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x1E55 JUMP JUMPDEST PUSH2 0x1FBF PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x1F8E JUMP JUMPDEST PUSH2 0x1FCC PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x1E55 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x200E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FF3 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2025 DUP3 PUSH2 0x1FD4 JUMP JUMPDEST PUSH2 0x202F DUP2 DUP6 PUSH2 0x1FDF JUMP JUMPDEST SWAP4 POP PUSH2 0x203F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1FF0 JUMP JUMPDEST PUSH2 0x2048 DUP2 PUSH2 0x14DA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2068 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x184B JUMP JUMPDEST PUSH2 0x2075 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x1728 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2087 DUP2 DUP5 PUSH2 0x201A JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC0 0x2F JUMPI 0xC9 CHAINID PUSH20 0x48B20B49B4CF668930336FF9C966A87028367AA4 NUMBER SHL 0xC1 BYTE SWAP10 NUMBER PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", | |
"sourceMap": "4597:2267:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3389:233:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5592:927:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4959:62;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;5248:338;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1016:265:1;;;:::i;:::-;;1237:27:6;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1332:81:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4347:246:6;;;:::i;:::-;;5028:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1112:59;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;6525:337;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3889:381;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;826:98:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1270:28:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3389:233:2;3516:14;3494:37;;:10;:37;;;3486:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;3573:44;3592:10;3604:12;3573:18;:44::i;:::-;3389:233;;:::o;5592:927:6:-;5664:7;5683:24;5710:7;:16;5718:7;5710:16;;;;;;;;;;;;;;;:23;5727:5;5710:23;;;;;;;;;;;5683:50;;5748:8;:15;;;;;;;;;;;;5744:29;;;5772:1;5765:8;;;;;5744:29;5787:14;5803:28;5835:36;5852:8;:18;;;5835:16;:36::i;:::-;5784:87;;;;;5933:9;5928:24;;5951:1;5944:8;;;;;;;5928:24;5998:28;6043:11;:18;6029:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5998:64;;6077:6;6072:103;6089:11;:18;6087:1;:20;6072:103;;;6162:2;6145:11;6157:1;6145:14;;;;;;;;:::i;:::-;;;;;;;;:19;;;;:::i;:::-;6128:11;6140:1;6128:14;;;;;;;;:::i;:::-;;;;;;;:36;;;;;6109:3;;;;:::i;:::-;;;6072:103;;;;6249:11;6261:1;6249:14;;;;;;;;:::i;:::-;;;;;;;;6231:11;6243:1;6231:14;;;;;;;;:::i;:::-;;;;;;;;:32;6227:60;;6272:8;:15;;;6265:22;;;;;;;;6227:60;6348:11;6360:1;6348:14;;;;;;;;:::i;:::-;;;;;;;;6331:11;6343:1;6331:14;;;;;;;;:::i;:::-;;;;;;;;:31;:50;;;;;6366:8;:15;;;;;;;;;;;;6331:50;6330:122;;;;6417:11;6429:1;6417:14;;;;;;;;:::i;:::-;;;;;;;;6400:11;6412:1;6400:14;;;;;;;;:::i;:::-;;;;;;;;:31;:51;;;;;6436:8;:15;;;;;;;;;;;;6435:16;6400:51;6330:122;6326:167;;;6492:1;6474:8;:15;;;:19;;;;:::i;:::-;6467:26;;;;;;;;6326:167;6511:1;6504:8;;;;;;5592:927;;;;;:::o;4959:62::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5248:338::-;5309:13;5325:9;;:11;;;;;;;;;:::i;:::-;;;;;5309:27;;5362:17;5382:21;:19;:21::i;:::-;5362:41;;5443:79;;;;;;;;5463:9;5443:79;;;;5482:6;5443:79;;;;5498:6;5443:79;;;;;;5514:5;5443:79;;;;;5414:7;:19;5422:10;5414:19;;;;;;;;;;;;;;;:26;5434:5;5414:26;;;;;;;;;;;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5538:41;5542:10;5554:6;5562:5;5569:9;5538:41;;;;;;;;;:::i;:::-;;;;;;;;5299:287;;5248:338;;:::o;1016:265:1:-;1089:14;;;;;;;;;;;1075:28;;:10;:28;;;1067:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1137:16;1156:7;;;;;;;;;;;1137:26;;1179:10;1169:7;;:20;;;;;;;;;;;;;;;;;;1220:1;1195:14;;:27;;;;;;;;;;;;;;;;;;1265:10;1234:42;;1255:8;1234:42;;;;;;;;;;;;1061:220;1016:265::o;1237:27:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1332:81:1:-;1379:7;1401;;;;;;;;;;;1394:14;;1332:81;:::o;4347:246:6:-;1956:20:1;:18;:20::i;:::-;4398:23:6::1;4443:11;;;;;;;;;;;4398:57;;4486:4;:13;;;4500:10;4512:4;:14;;;4535:4;4512:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4486:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4465:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;4388:205;4347:246::o:0;5028:24::-;;;;:::o;1112:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6525:337::-;6583:14;6600:29;6611:10;6623:5;6600:10;:29::i;:::-;6583:46;;6639:24;6666:7;:19;6674:10;6666:19;;;;;;;;;;;;;;;:26;6686:5;6666:26;;;;;;;;;;;6639:53;;6715:8;:15;;;;;;;;;;;;6711:41;;;6739:13;;;;;;;;;;;;;;6711:41;6784:1;6775:6;:10;6771:84;;;6804:51;6809:10;6821:5;6828:8;:18;;;6848:6;6804:51;;;;;;;;;:::i;:::-;;;;;;;;6771:84;6573:289;;6525:337;:::o;3889:381::-;3994:12;4008:14;4024:28;4106:1;4076:10;:22;4087:10;4076:22;;;;;;;;;;;:27;;;:31;4068:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;4139:28;4170:10;:22;4181:10;4170:22;;;;;;;;;;;4139:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4210:7;:12;;;4224:7;:17;;;4243:7;:19;;;4202:61;;;;;;;3889:381;;;;;:::o;826:98:1:-;1956:20;:18;:20::i;:::-;897:22:::1;916:2;897:18;:22::i;:::-;826:98:::0;:::o;1270:28:6:-;;;;:::o;3446:437::-;3613:1;3583:10;:22;3594:10;3583:22;;;;;;;;;;;:27;;;:31;3575:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;3681:4;3646:10;:22;3657:10;3646:22;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;3732:12;3695:10;:22;3706:10;3695:22;;;;;;;;;;;:34;;:49;;;;;;;;;;;;:::i;:::-;;3759:117;3789:10;3813:12;3839:10;:22;3850:10;3839:22;;;;;;;;;;;:27;;;3759:117;;;;;;;;:::i;:::-;;;;;;;;3446:437;;:::o;2860:580::-;2925:17;2970:113;3001:16;;;;;;;;;;;3031:20;;;;;;;;;;;3065:8;;;;;;;;;;;2970:17;:113::i;:::-;2958:125;;3117:172;;;;;;;;3151:14;:36;;;3188:16;;;;;;;;;;;3151:54;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3117:172;;;;3273:5;3117:172;;;;;;3246:1;3232:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3117:172;;;3093:10;:21;3104:9;3093:21;;;;;;;;;;;:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3299:10;3315:9;3299:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3351:9;3335:13;:25;;;;3375:32;3387:9;3398:8;;;;;;;;;;;3375:32;;;;;;;:::i;:::-;;;;;;;;2860:580;:::o;1730:111:1:-;1802:7;;;;;;;;;;1788:21;;:10;:21;;;1780:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1730:111::o;1497:188::-;1565:10;1559:16;;:2;:16;;;1551:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:2;1610:14;;:19;;;;;;;;;;;;;;;;;;1677:2;1641:39;;1668:7;;;;;;;;;;1641:39;;;;;;;;;;;;1497:188;:::o;2645:399:2:-;2780:17;2805:4;:20;;;2841:14;2864;:36;;;2901:17;2864:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2938:17;2957:21;2980:9;2927:63;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2805:191;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3009:14;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3002:37;;2645:399;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:7:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:117::-;799:1;796;789:12;813:102;854:6;905:2;901:7;896:2;889:5;885:14;881:28;871:38;;813:102;;;:::o;921:180::-;969:77;966:1;959:88;1066:4;1063:1;1056:15;1090:4;1087:1;1080:15;1107:281;1190:27;1212:4;1190:27;:::i;:::-;1182:6;1178:40;1320:6;1308:10;1305:22;1284:18;1272:10;1269:34;1266:62;1263:88;;;1331:18;;:::i;:::-;1263:88;1371:10;1367:2;1360:22;1150:238;1107:281;;:::o;1394:129::-;1428:6;1455:20;;:::i;:::-;1445:30;;1484:33;1512:4;1504:6;1484:33;:::i;:::-;1394:129;;;:::o;1529:311::-;1606:4;1696:18;1688:6;1685:30;1682:56;;;1718:18;;:::i;:::-;1682:56;1768:4;1760:6;1756:17;1748:25;;1828:4;1822;1818:15;1810:23;;1529:311;;;:::o;1846:117::-;1955:1;1952;1945:12;1986:710;2082:5;2107:81;2123:64;2180:6;2123:64;:::i;:::-;2107:81;:::i;:::-;2098:90;;2208:5;2237:6;2230:5;2223:21;2271:4;2264:5;2260:16;2253:23;;2324:4;2316:6;2312:17;2304:6;2300:30;2353:3;2345:6;2342:15;2339:122;;;2372:79;;:::i;:::-;2339:122;2487:6;2470:220;2504:6;2499:3;2496:15;2470:220;;;2579:3;2608:37;2641:3;2629:10;2608:37;:::i;:::-;2603:3;2596:50;2675:4;2670:3;2666:14;2659:21;;2546:144;2530:4;2525:3;2521:14;2514:21;;2470:220;;;2474:21;2088:608;;1986:710;;;;;:::o;2719:370::-;2790:5;2839:3;2832:4;2824:6;2820:17;2816:27;2806:122;;2847:79;;:::i;:::-;2806:122;2964:6;2951:20;2989:94;3079:3;3071:6;3064:4;3056:6;3052:17;2989:94;:::i;:::-;2980:103;;2796:293;2719:370;;;;:::o;3095:684::-;3188:6;3196;3245:2;3233:9;3224:7;3220:23;3216:32;3213:119;;;3251:79;;:::i;:::-;3213:119;3371:1;3396:53;3441:7;3432:6;3421:9;3417:22;3396:53;:::i;:::-;3386:63;;3342:117;3526:2;3515:9;3511:18;3498:32;3557:18;3549:6;3546:30;3543:117;;;3579:79;;:::i;:::-;3543:117;3684:78;3754:7;3745:6;3734:9;3730:22;3684:78;:::i;:::-;3674:88;;3469:303;3095:684;;;;;:::o;3785:126::-;3822:7;3862:42;3855:5;3851:54;3840:65;;3785:126;;;:::o;3917:96::-;3954:7;3983:24;4001:5;3983:24;:::i;:::-;3972:35;;3917:96;;;:::o;4019:122::-;4092:24;4110:5;4092:24;:::i;:::-;4085:5;4082:35;4072:63;;4131:1;4128;4121:12;4072:63;4019:122;:::o;4147:139::-;4193:5;4231:6;4218:20;4209:29;;4247:33;4274:5;4247:33;:::i;:::-;4147:139;;;;:::o;4292:474::-;4360:6;4368;4417:2;4405:9;4396:7;4392:23;4388:32;4385:119;;;4423:79;;:::i;:::-;4385:119;4543:1;4568:53;4613:7;4604:6;4593:9;4589:22;4568:53;:::i;:::-;4558:63;;4514:117;4670:2;4696:53;4741:7;4732:6;4721:9;4717:22;4696:53;:::i;:::-;4686:63;;4641:118;4292:474;;;;;:::o;4772:118::-;4859:24;4877:5;4859:24;:::i;:::-;4854:3;4847:37;4772:118;;:::o;4896:222::-;4989:4;5027:2;5016:9;5012:18;5004:26;;5040:71;5108:1;5097:9;5093:17;5084:6;5040:71;:::i;:::-;4896:222;;;;:::o;5124:90::-;5158:7;5201:5;5194:13;5187:21;5176:32;;5124:90;;;:::o;5220:109::-;5301:21;5316:5;5301:21;:::i;:::-;5296:3;5289:34;5220:109;;:::o;5335:529::-;5500:4;5538:3;5527:9;5523:19;5515:27;;5552:71;5620:1;5609:9;5605:17;5596:6;5552:71;:::i;:::-;5633:72;5701:2;5690:9;5686:18;5677:6;5633:72;:::i;:::-;5715:66;5777:2;5766:9;5762:18;5753:6;5715:66;:::i;:::-;5791;5853:2;5842:9;5838:18;5829:6;5791:66;:::i;:::-;5335:529;;;;;;;:::o;5870:116::-;5940:21;5955:5;5940:21;:::i;:::-;5933:5;5930:32;5920:60;;5976:1;5973;5966:12;5920:60;5870:116;:::o;5992:133::-;6035:5;6073:6;6060:20;6051:29;;6089:30;6113:5;6089:30;:::i;:::-;5992:133;;;;:::o;6131:468::-;6196:6;6204;6253:2;6241:9;6232:7;6228:23;6224:32;6221:119;;;6259:79;;:::i;:::-;6221:119;6379:1;6404:50;6446:7;6437:6;6426:9;6422:22;6404:50;:::i;:::-;6394:60;;6350:114;6503:2;6529:53;6574:7;6565:6;6554:9;6550:22;6529:53;:::i;:::-;6519:63;;6474:118;6131:468;;;;;:::o;6605:329::-;6664:6;6713:2;6701:9;6692:7;6688:23;6684:32;6681:119;;;6719:79;;:::i;:::-;6681:119;6839:1;6864:53;6909:7;6900:6;6889:9;6885:22;6864:53;:::i;:::-;6854:63;;6810:117;6605:329;;;;:::o;6940:118::-;7027:24;7045:5;7027:24;:::i;:::-;7022:3;7015:37;6940:118;;:::o;7064:222::-;7157:4;7195:2;7184:9;7180:18;7172:26;;7208:71;7276:1;7265:9;7261:17;7252:6;7208:71;:::i;:::-;7064:222;;;;:::o;7292:320::-;7407:4;7445:2;7434:9;7430:18;7422:26;;7458:71;7526:1;7515:9;7511:17;7502:6;7458:71;:::i;:::-;7539:66;7601:2;7590:9;7586:18;7577:6;7539:66;:::i;:::-;7292:320;;;;;:::o;7618:114::-;7685:6;7719:5;7713:12;7703:22;;7618:114;;;:::o;7738:184::-;7837:11;7871:6;7866:3;7859:19;7911:4;7906:3;7902:14;7887:29;;7738:184;;;;:::o;7928:132::-;7995:4;8018:3;8010:11;;8048:4;8043:3;8039:14;8031:22;;7928:132;;;:::o;8066:108::-;8143:24;8161:5;8143:24;:::i;:::-;8138:3;8131:37;8066:108;;:::o;8180:179::-;8249:10;8270:46;8312:3;8304:6;8270:46;:::i;:::-;8348:4;8343:3;8339:14;8325:28;;8180:179;;;;:::o;8365:113::-;8435:4;8467;8462:3;8458:14;8450:22;;8365:113;;;:::o;8514:732::-;8633:3;8662:54;8710:5;8662:54;:::i;:::-;8732:86;8811:6;8806:3;8732:86;:::i;:::-;8725:93;;8842:56;8892:5;8842:56;:::i;:::-;8921:7;8952:1;8937:284;8962:6;8959:1;8956:13;8937:284;;;9038:6;9032:13;9065:63;9124:3;9109:13;9065:63;:::i;:::-;9058:70;;9151:60;9204:6;9151:60;:::i;:::-;9141:70;;8997:224;8984:1;8981;8977:9;8972:14;;8937:284;;;8941:14;9237:3;9230:10;;8638:608;;;8514:732;;;;:::o;9252:581::-;9445:4;9483:2;9472:9;9468:18;9460:26;;9496:71;9564:1;9553:9;9549:17;9540:6;9496:71;:::i;:::-;9577:66;9639:2;9628:9;9624:18;9615:6;9577:66;:::i;:::-;9690:9;9684:4;9680:20;9675:2;9664:9;9660:18;9653:48;9718:108;9821:4;9812:6;9718:108;:::i;:::-;9710:116;;9252:581;;;;;;:::o;9839:329::-;9898:6;9947:2;9935:9;9926:7;9922:23;9918:32;9915:119;;;9953:79;;:::i;:::-;9915:119;10073:1;10098:53;10143:7;10134:6;10123:9;10119:22;10098:53;:::i;:::-;10088:63;;10044:117;9839:329;;;;:::o;10174:169::-;10258:11;10292:6;10287:3;10280:19;10332:4;10327:3;10323:14;10308:29;;10174:169;;;;:::o;10349:181::-;10489:33;10485:1;10477:6;10473:14;10466:57;10349:181;:::o;10536:366::-;10678:3;10699:67;10763:2;10758:3;10699:67;:::i;:::-;10692:74;;10775:93;10864:3;10775:93;:::i;:::-;10893:2;10888:3;10884:12;10877:19;;10536:366;;;:::o;10908:419::-;11074:4;11112:2;11101:9;11097:18;11089:26;;11161:9;11155:4;11151:20;11147:1;11136:9;11132:17;11125:47;11189:131;11315:4;11189:131;:::i;:::-;11181:139;;10908:419;;;:::o;11333:180::-;11381:77;11378:1;11371:88;11478:4;11475:1;11468:15;11502:4;11499:1;11492:15;11519:180;11567:77;11564:1;11557:88;11664:4;11661:1;11654:15;11688:4;11685:1;11678:15;11705:176;11737:1;11754:20;11772:1;11754:20;:::i;:::-;11749:25;;11788:20;11806:1;11788:20;:::i;:::-;11783:25;;11827:1;11817:35;;11832:18;;:::i;:::-;11817:35;11873:1;11870;11866:9;11861:14;;11705:176;;;;:::o;11887:180::-;11935:77;11932:1;11925:88;12032:4;12029:1;12022:15;12056:4;12053:1;12046:15;12073:233;12112:3;12135:24;12153:5;12135:24;:::i;:::-;12126:33;;12181:66;12174:5;12171:77;12168:103;;12251:18;;:::i;:::-;12168:103;12298:1;12291:5;12287:13;12280:20;;12073:233;;;:::o;12312:410::-;12352:7;12375:20;12393:1;12375:20;:::i;:::-;12370:25;;12409:20;12427:1;12409:20;:::i;:::-;12404:25;;12464:1;12461;12457:9;12486:30;12504:11;12486:30;:::i;:::-;12475:41;;12665:1;12656:7;12652:15;12649:1;12646:22;12626:1;12619:9;12599:83;12576:139;;12695:18;;:::i;:::-;12576:139;12360:362;12312:410;;;;:::o;12728:541::-;12899:4;12937:3;12926:9;12922:19;12914:27;;12951:71;13019:1;13008:9;13004:17;12995:6;12951:71;:::i;:::-;13032:66;13094:2;13083:9;13079:18;13070:6;13032:66;:::i;:::-;13108:72;13176:2;13165:9;13161:18;13152:6;13108:72;:::i;:::-;13190;13258:2;13247:9;13243:18;13234:6;13190:72;:::i;:::-;12728:541;;;;;;;:::o;13275:172::-;13415:24;13411:1;13403:6;13399:14;13392:48;13275:172;:::o;13453:366::-;13595:3;13616:67;13680:2;13675:3;13616:67;:::i;:::-;13609:74;;13692:93;13781:3;13692:93;:::i;:::-;13810:2;13805:3;13801:12;13794:19;;13453:366;;;:::o;13825:419::-;13991:4;14029:2;14018:9;14014:18;14006:26;;14078:9;14072:4;14068:20;14064:1;14053:9;14049:17;14042:47;14106:131;14232:4;14106:131;:::i;:::-;14098:139;;13825:419;;;:::o;14250:143::-;14307:5;14338:6;14332:13;14323:22;;14354:33;14381:5;14354:33;:::i;:::-;14250:143;;;;:::o;14399:351::-;14469:6;14518:2;14506:9;14497:7;14493:23;14489:32;14486:119;;;14524:79;;:::i;:::-;14486:119;14644:1;14669:64;14725:7;14716:6;14705:9;14701:22;14669:64;:::i;:::-;14659:74;;14615:128;14399:351;;;;:::o;14756:332::-;14877:4;14915:2;14904:9;14900:18;14892:26;;14928:71;14996:1;14985:9;14981:17;14972:6;14928:71;:::i;:::-;15009:72;15077:2;15066:9;15062:18;15053:6;15009:72;:::i;:::-;14756:332;;;;;:::o;15094:137::-;15148:5;15179:6;15173:13;15164:22;;15195:30;15219:5;15195:30;:::i;:::-;15094:137;;;;:::o;15237:345::-;15304:6;15353:2;15341:9;15332:7;15328:23;15324:32;15321:119;;;15359:79;;:::i;:::-;15321:119;15479:1;15504:61;15557:7;15548:6;15537:9;15533:22;15504:61;:::i;:::-;15494:71;;15450:125;15237:345;;;;:::o;15588:168::-;15728:20;15724:1;15716:6;15712:14;15705:44;15588:168;:::o;15762:366::-;15904:3;15925:67;15989:2;15984:3;15925:67;:::i;:::-;15918:74;;16001:93;16090:3;16001:93;:::i;:::-;16119:2;16114:3;16110:12;16103:19;;15762:366;;;:::o;16134:419::-;16300:4;16338:2;16327:9;16323:18;16315:26;;16387:9;16381:4;16377:20;16373:1;16362:9;16358:17;16351:47;16415:131;16541:4;16415:131;:::i;:::-;16407:139;;16134:419;;;:::o;16559:553::-;16736:4;16774:3;16763:9;16759:19;16751:27;;16788:71;16856:1;16845:9;16841:17;16832:6;16788:71;:::i;:::-;16869:72;16937:2;16926:9;16922:18;16913:6;16869:72;:::i;:::-;16951;17019:2;17008:9;17004:18;16995:6;16951:72;:::i;:::-;17033;17101:2;17090:9;17086:18;17077:6;17033:72;:::i;:::-;16559:553;;;;;;;:::o;17118:167::-;17258:19;17254:1;17246:6;17242:14;17235:43;17118:167;:::o;17291:366::-;17433:3;17454:67;17518:2;17513:3;17454:67;:::i;:::-;17447:74;;17530:93;17619:3;17530:93;:::i;:::-;17648:2;17643:3;17639:12;17632:19;;17291:366;;;:::o;17663:419::-;17829:4;17867:2;17856:9;17852:18;17844:26;;17916:9;17910:4;17906:20;17902:1;17891:9;17887:17;17880:47;17944:131;18070:4;17944:131;:::i;:::-;17936:139;;17663:419;;;:::o;18088:593::-;18287:4;18325:2;18314:9;18310:18;18302:26;;18338:71;18406:1;18395:9;18391:17;18382:6;18338:71;:::i;:::-;18456:9;18450:4;18446:20;18441:2;18430:9;18426:18;18419:48;18484:108;18587:4;18578:6;18484:108;:::i;:::-;18476:116;;18602:72;18670:2;18659:9;18655:18;18646:6;18602:72;:::i;:::-;18088:593;;;;;;:::o;18687:93::-;18723:7;18763:10;18756:5;18752:22;18741:33;;18687:93;;;:::o;18786:115::-;18871:23;18888:5;18871:23;:::i;:::-;18866:3;18859:36;18786:115;;:::o;18907:218::-;18998:4;19036:2;19025:9;19021:18;19013:26;;19049:69;19115:1;19104:9;19100:17;19091:6;19049:69;:::i;:::-;18907:218;;;;:::o;19131:328::-;19250:4;19288:2;19277:9;19273:18;19265:26;;19301:71;19369:1;19358:9;19354:17;19345:6;19301:71;:::i;:::-;19382:70;19448:2;19437:9;19433:18;19424:6;19382:70;:::i;:::-;19131:328;;;;;:::o;19465:172::-;19605:24;19601:1;19593:6;19589:14;19582:48;19465:172;:::o;19643:366::-;19785:3;19806:67;19870:2;19865:3;19806:67;:::i;:::-;19799:74;;19882:93;19971:3;19882:93;:::i;:::-;20000:2;19995:3;19991:12;19984:19;;19643:366;;;:::o;20015:419::-;20181:4;20219:2;20208:9;20204:18;20196:26;;20268:9;20262:4;20258:20;20254:1;20243:9;20239:17;20232:47;20296:131;20422:4;20296:131;:::i;:::-;20288:139;;20015:419;;;:::o;20440:173::-;20580:25;20576:1;20568:6;20564:14;20557:49;20440:173;:::o;20619:366::-;20761:3;20782:67;20846:2;20841:3;20782:67;:::i;:::-;20775:74;;20858:93;20947:3;20858:93;:::i;:::-;20976:2;20971:3;20967:12;20960:19;;20619:366;;;:::o;20991:419::-;21157:4;21195:2;21184:9;21180:18;21172:26;;21244:9;21238:4;21234:20;21230:1;21219:9;21215:17;21208:47;21272:131;21398:4;21272:131;:::i;:::-;21264:139;;20991:419;;;:::o;21416:89::-;21452:7;21492:6;21485:5;21481:18;21470:29;;21416:89;;;:::o;21511:115::-;21596:23;21613:5;21596:23;:::i;:::-;21591:3;21584:36;21511:115;;:::o;21632:430::-;21775:4;21813:2;21802:9;21798:18;21790:26;;21826:69;21892:1;21881:9;21877:17;21868:6;21826:69;:::i;:::-;21905:70;21971:2;21960:9;21956:18;21947:6;21905:70;:::i;:::-;21985;22051:2;22040:9;22036:18;22027:6;21985:70;:::i;:::-;21632:430;;;;;;:::o;22068:98::-;22119:6;22153:5;22147:12;22137:22;;22068:98;;;:::o;22172:168::-;22255:11;22289:6;22284:3;22277:19;22329:4;22324:3;22320:14;22305:29;;22172:168;;;;:::o;22346:246::-;22427:1;22437:113;22451:6;22448:1;22445:13;22437:113;;;22536:1;22531:3;22527:11;22521:18;22517:1;22512:3;22508:11;22501:39;22473:2;22470:1;22466:10;22461:15;;22437:113;;;22584:1;22575:6;22570:3;22566:16;22559:27;22408:184;22346:246;;;:::o;22598:373::-;22684:3;22712:38;22744:5;22712:38;:::i;:::-;22766:70;22829:6;22824:3;22766:70;:::i;:::-;22759:77;;22845:65;22903:6;22898:3;22891:4;22884:5;22880:16;22845:65;:::i;:::-;22935:29;22957:6;22935:29;:::i;:::-;22930:3;22926:39;22919:46;;22688:283;22598:373;;;;:::o;22977:529::-;23144:4;23182:2;23171:9;23167:18;23159:26;;23195:71;23263:1;23252:9;23248:17;23239:6;23195:71;:::i;:::-;23276:72;23344:2;23333:9;23329:18;23320:6;23276:72;:::i;:::-;23395:9;23389:4;23385:20;23380:2;23369:9;23365:18;23358:48;23423:76;23494:4;23485:6;23423:76;:::i;:::-;23415:84;;22977:529;;;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "1678200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"acceptOwnership()": "54585", | |
"bet(bool,uint256)": "infinite", | |
"betData(address,uint256)": "infinite", | |
"getRequestStatus(uint256)": "infinite", | |
"lastRequestId()": "2517", | |
"nextBetId()": "2474", | |
"owner()": "2611", | |
"rawFulfillRandomWords(uint256,uint256[])": "infinite", | |
"requestIds(uint256)": "infinite", | |
"s_requests(uint256)": "infinite", | |
"transferOwnership(address)": "30720", | |
"viewPayout(address,uint256)": "infinite", | |
"withdrawLink()": "infinite", | |
"withdrawPayout(uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"acceptOwnership()": "79ba5097", | |
"bet(bool,uint256)": "5229a6fd", | |
"betData(address,uint256)": "354cab62", | |
"getRequestStatus(uint256)": "d8a4676f", | |
"lastRequestId()": "fc2a88c3", | |
"nextBetId()": "9aca2792", | |
"owner()": "8da5cb5b", | |
"rawFulfillRandomWords(uint256,uint256[])": "1fe543e3", | |
"requestIds(uint256)": "8796ba8c", | |
"s_requests(uint256)": "a168fa89", | |
"transferOwnership(address)": "f2fde38b", | |
"viewPayout(address,uint256)": "25aa820b", | |
"withdrawLink()": "8dc654a2", | |
"withdrawPayout(uint256)": "b21c7935" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "AlreadyPaid", | |
"type": "error" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "bool", | |
"name": "isHighBet", | |
"type": "bool" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "Bet", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferRequested", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Paid", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "payment", | |
"type": "uint256" | |
} | |
], | |
"name": "RequestFulfilled", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint32", | |
"name": "numWords", | |
"type": "uint32" | |
} | |
], | |
"name": "RequestSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "acceptOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bool", | |
"name": "isHigh", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "bet", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "betData", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "isHigh", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "isPaid", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "getRequestStatus", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "paid", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "lastRequestId", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "nextBetId", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_requestId", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "_randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"name": "rawFulfillRandomWords", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "requestIds", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "s_requests", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "paid", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
} | |
], | |
"name": "viewPayout", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawLink", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawPayout", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "AlreadyPaid", | |
"type": "error" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "bool", | |
"name": "isHighBet", | |
"type": "bool" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "Bet", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferRequested", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Paid", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "payment", | |
"type": "uint256" | |
} | |
], | |
"name": "RequestFulfilled", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint32", | |
"name": "numWords", | |
"type": "uint32" | |
} | |
], | |
"name": "RequestSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "acceptOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "bool", | |
"name": "isHigh", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "bet", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "betData", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "isHigh", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "isPaid", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "getRequestStatus", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "paid", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "lastRequestId", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "nextBetId", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_requestId", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "_randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"name": "rawFulfillRandomWords", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "requestIds", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "s_requests", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "paid", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
} | |
], | |
"name": "viewPayout", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawLink", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "betId", | |
"type": "uint256" | |
} | |
], | |
"name": "withdrawPayout", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"acceptOwnership()": { | |
"notice": "Allows an ownership transfer to be completed by the recipient." | |
}, | |
"owner()": { | |
"notice": "Get the current owner" | |
}, | |
"transferOwnership(address)": { | |
"notice": "Allows an owner to begin transferring ownership to a new address, pending." | |
}, | |
"withdrawLink()": { | |
"notice": "Allow withdraw of Link tokens from the contract" | |
} | |
}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"docs.chain.link/samples/VRF/VRFv2DirectFundingConsumer.sol": "HiLo" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/ConfirmedOwner.sol": { | |
"keccak256": "0x99d0b0786fe368970009c703f2249bfbc56340ddf1a28b60d2915bb58c34cd72", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://af0371c1af45db651823b9a3d5af761b08243c78f105166342eee28de356c8dd", | |
"dweb:/ipfs/QmPnC9qNDKwJFd5unwLb9pxjrutoe8MWjm5EXHTxq2kJ4x" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/ConfirmedOwnerWithProposal.sol": { | |
"keccak256": "0xa2f137a1d066795aeac76226e58f33c982278cdd34b4f09e5a2243d5a0924654", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://a73f185d79d82e6d9baa531d55ffb88c80def1f6187dff93d3df6b2cb5ab7187", | |
"dweb:/ipfs/QmVZEePJvcN1KxSTaD5rhKhaMBWHqs6ZeZ5s17Ft6mR5hJ" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/VRFV2WrapperConsumerBase.sol": { | |
"keccak256": "0xa705e4602e2fc0f6baf00de84f99fbad0e4a6ffa75e1788890a052b6978db91d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ff8ad1c50a1d90f6cedaea30cded7fa281665ef99f9284d6751cd72bfefd65a3", | |
"dweb:/ipfs/Qme4Kc8sMagwHSVrvxGTtJzFSqAnvVPp4n3tNMvSheK5n2" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol": { | |
"keccak256": "0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://8cb1064885ecbcd9c3adba779e190cb4a538e5d4d15aeccb67d3376bdffc94bd", | |
"dweb:/ipfs/QmcQHK6ewve7tFi4XXK65JthQg4kQzApQikWcURJjGt4iQ" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/OwnableInterface.sol": { | |
"keccak256": "0xb8b3a97783dddc198b790c4cec1eda7fb47aa38cbaea6555220d0ed8c735c086", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://acf7ed6aff47fbddeff1b85e1225a717dfa8bfb3ab89db0e6564346afcf03693", | |
"dweb:/ipfs/QmQQn5sKn1ARbt1WhYoHwfTJhK8fbQi8MbDQeHxGXTPbPE" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/VRFV2WrapperInterface.sol": { | |
"keccak256": "0x44f6fa0cb1867a0bc137a195d4603bafa1cf74ecfbe69eb82a5dabeca8957738", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://87ebb29c09566ab02ff62c3c29f60a08db52f032b5f2c5220cd111aad88002ce", | |
"dweb:/ipfs/QmfScq3oJ6MkPXJh5JUrpz93bNMJ3ebtLcE3Q1H2DUNi93" | |
] | |
}, | |
"docs.chain.link/samples/VRF/VRFv2DirectFundingConsumer.sol": { | |
"keccak256": "0xd8918b029902a71da5ed4f010eb4a41f2c8dfd9a964dc685418d02ce58c1e1e3", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://b12844d095d58b259640850485e6016f0ca3084ba9b53c660f8f873f7f8503e0", | |
"dweb:/ipfs/QmYmTS6RRt5t6T4gH7uMaNfH5ubuE5iZKz52mPvE1nDJTd" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": { | |
"@_18": { | |
"entryPoint": null, | |
"id": 18, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_203": { | |
"entryPoint": null, | |
"id": 203, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_433": { | |
"entryPoint": null, | |
"id": 433, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_75": { | |
"entryPoint": null, | |
"id": 75, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_transferOwnership_159": { | |
"entryPoint": 657, | |
"id": 159, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_uint64_fromMemory": { | |
"entryPoint": 1011, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint64_fromMemory": { | |
"entryPoint": 1034, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1142, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1256, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1181, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1295, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1084, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint64": { | |
"entryPoint": 965, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 960, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2": { | |
"entryPoint": 1101, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2": { | |
"entryPoint": 1215, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint64": { | |
"entryPoint": 985, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:3194:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:6", | |
"type": "" | |
} | |
], | |
"src": "7:75:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "378:57:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "388:41:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "403:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "410:18:6", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "399:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "399:30:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "388:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "360:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "370:7:6", | |
"type": "" | |
} | |
], | |
"src": "334:101:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "483:78:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "539:16:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "548:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "551:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "541:12:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "506:5:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "530:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "513:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "513:23:6" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "503:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "503:34:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "496:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "496:42:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "493:62:6" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "476:5:6", | |
"type": "" | |
} | |
], | |
"src": "441:120:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "629:79:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "639:22:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "654:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "648:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "648:13:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "639:5:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "696:5:6" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "670:25:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "670:32:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "670:32:6" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint64_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "607:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "615:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "623:5:6", | |
"type": "" | |
} | |
], | |
"src": "567:141:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "790:273:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "836:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "838:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "838:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "838:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "811:7:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "820:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:23:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "803:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "803:32:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "800:119:6" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "929:127:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "944:15:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "958:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "948:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "973:73:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1018:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1029:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1014:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1014:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1038:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint64_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "983:30:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "983:63:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "973:6:6" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint64_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "760:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "771:7:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "783:6:6", | |
"type": "" | |
} | |
], | |
"src": "714:349:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1165:73:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1182:3:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1187:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1175:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1175:19:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1175:19:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1203:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1222:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1227:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1218:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1218:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "1203:11:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1137:3:6", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1142:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "1153:11:6", | |
"type": "" | |
} | |
], | |
"src": "1069:169:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1350:68:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1372:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1380:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1368:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1368:14:6" | |
}, | |
{ | |
"hexValue": "43616e6e6f7420736574206f776e657220746f207a65726f", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1384:26:6", | |
"type": "", | |
"value": "Cannot set owner to zero" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1361:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1361:50:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1361:50:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1342:6:6", | |
"type": "" | |
} | |
], | |
"src": "1244:174:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1570:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1580:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1646:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1651:2:6", | |
"type": "", | |
"value": "24" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1587:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1587:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1580:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1752:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2", | |
"nodeType": "YulIdentifier", | |
"src": "1663:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1663:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1663:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1765:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1776:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1781:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1772:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1772:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "1765:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1558:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1566:3:6", | |
"type": "" | |
} | |
], | |
"src": "1424:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1967:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1977:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1989:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2000:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1985:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1985:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1977:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2024:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2035:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2020:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2020:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2043:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2049:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2039:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2039:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2013:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2013:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2013:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2069:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2203:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2077:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2077:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2069:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1947:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1962:4:6", | |
"type": "" | |
} | |
], | |
"src": "1796:419:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2327:67:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "2349:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2357:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2345:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2345:14:6" | |
}, | |
{ | |
"hexValue": "43616e6e6f74207472616e7366657220746f2073656c66", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "2361:25:6", | |
"type": "", | |
"value": "Cannot transfer to self" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2338:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2338:49:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2338:49:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "2319:6:6", | |
"type": "" | |
} | |
], | |
"src": "2221:173:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2546:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2556:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2622:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2627:2:6", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2563:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2563:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2556:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2728:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulIdentifier", | |
"src": "2639:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2639:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2639:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2741:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2752:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2757:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2748:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2748:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2741:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2534:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2542:3:6", | |
"type": "" | |
} | |
], | |
"src": "2400:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2943:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2953:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2965:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2976:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2961:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2961:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2953:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3000:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3011:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2996:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2996:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3019:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3025:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3015:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3015:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2989:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2989:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2989:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3045:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3179:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3053:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3053:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3045:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2923:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2938:4:6", | |
"type": "" | |
} | |
], | |
"src": "2772:419:6" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_uint64_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint64_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot set owner to zero\")\n\n }\n\n function abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7dca76038b520c88e70cf97566ce5d47f70366a14444d2decb0ce7bf6a19e7c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot transfer to self\")\n\n }\n\n function abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", | |
"id": 6, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "60a06040527f474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c60001b600655620186a0600760006101000a81548163ffffffff021916908363ffffffff1602179055506003600760046101000a81548161ffff021916908361ffff1602179055506002600760066101000a81548163ffffffff021916908363ffffffff1602179055503480156200009c57600080fd5b506040516200187b3803806200187b8339818101604052810190620000c291906200040a565b33806000738103b0a8a00be2ddc778e6e7eaa21791cd3646258073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000179906200049d565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620002095762000208816200029160201b60201c565b5b505050738103b0a8a00be2ddc778e6e7eaa21791cd364625600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505062000531565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000302576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f9906200050f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b600080fd5b600067ffffffffffffffff82169050919050565b620003e481620003c5565b8114620003f057600080fd5b50565b6000815190506200040481620003d9565b92915050565b600060208284031215620004235762000422620003c0565b5b60006200043384828501620003f3565b91505092915050565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b6000620004856018836200043c565b915062000492826200044d565b602082019050919050565b60006020820190508181036000830152620004b88162000476565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000620004f76017836200043c565b91506200050482620004bf565b602082019050919050565b600060208201905081810360008301526200052a81620004e8565b9050919050565b60805161132762000554600039600081816101c8015261021c01526113276000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a168fa8911610066578063a168fa891461010c578063d8a4676f1461013d578063e0c862891461016e578063f2fde38b1461018c578063fc2a88c3146101a857610093565b80631fe543e31461009857806379ba5097146100b45780638796ba8c146100be5780638da5cb5b146100ee575b600080fd5b6100b260048036038101906100ad9190610d07565b6101c6565b005b6100bc610286565b005b6100d860048036038101906100d39190610d63565b61041b565b6040516100e59190610d9f565b60405180910390f35b6100f661043f565b6040516101039190610dfb565b60405180910390f35b61012660048036038101906101219190610d63565b610468565b604051610134929190610e31565b60405180910390f35b61015760048036038101906101529190610d63565b6104a6565b604051610165929190610f18565b60405180910390f35b6101766105d1565b6040516101839190610d9f565b60405180910390f35b6101a660048036038101906101a19190610f74565b61082a565b005b6101b061083e565b6040516101bd9190610d9f565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461027857337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f400000000000000000000000000000000000000000000000000000000815260040161026f929190610fa1565b60405180910390fd5b6102828282610844565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d90611027565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6004818154811061042b57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b600060606002600084815260200190815260200160002060000160019054906101000a900460ff1661050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490611093565b60405180910390fd5b6000600260008581526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a900460ff16151515158152602001600182018054806020026020016040519081016040528092919081815260200182805480156105b257602002820191906000526020600020905b81548152602001906001019080831161059e575b5050505050815250509050806000015181604001519250925050915091565b60006105db61093e565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635d3b1d30600654600360149054906101000a900467ffffffffffffffff16600760049054906101000a900461ffff16600760009054906101000a900463ffffffff16600760069054906101000a900463ffffffff166040518663ffffffff1660e01b815260040161068a95949392919061112b565b6020604051808303816000875af11580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190611193565b90506040518060600160405280600015158152602001600115158152602001600067ffffffffffffffff81111561070757610706610bc4565b5b6040519080825280602002602001820160405280156107355781602001602082028036833780820191505090505b508152506002600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160010190805190602001906107a8929190610afa565b509050506004819080600181540180825580915050600190039060005260206000200160009091909190915055806005819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600760069054906101000a900463ffffffff1660405161081f9291906111c0565b60405180910390a190565b61083261093e565b61083b816109ce565b50565b60055481565b6002600083815260200190815260200160002060000160019054906101000a900460ff166108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e90611093565b60405180910390fd5b60016002600084815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600260008481526020019081526020016000206001019080519060200190610900929190610afa565b507ffe2e2d779dba245964d4e3ef9b994be63856fd568bf7d3ca9e224755cb1bd54d82826040516109329291906111e9565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390611265565b60405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a33906112d1565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b828054828255906000526020600020908101928215610b36579160200282015b82811115610b35578251825591602001919060010190610b1a565b5b509050610b439190610b47565b5090565b5b80821115610b60576000816000905550600101610b48565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610b8b81610b78565b8114610b9657600080fd5b50565b600081359050610ba881610b82565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610bfc82610bb3565b810181811067ffffffffffffffff82111715610c1b57610c1a610bc4565b5b80604052505050565b6000610c2e610b64565b9050610c3a8282610bf3565b919050565b600067ffffffffffffffff821115610c5a57610c59610bc4565b5b602082029050602081019050919050565b600080fd5b6000610c83610c7e84610c3f565b610c24565b90508083825260208201905060208402830185811115610ca657610ca5610c6b565b5b835b81811015610ccf5780610cbb8882610b99565b845260208401935050602081019050610ca8565b5050509392505050565b600082601f830112610cee57610ced610bae565b5b8135610cfe848260208601610c70565b91505092915050565b60008060408385031215610d1e57610d1d610b6e565b5b6000610d2c85828601610b99565b925050602083013567ffffffffffffffff811115610d4d57610d4c610b73565b5b610d5985828601610cd9565b9150509250929050565b600060208284031215610d7957610d78610b6e565b5b6000610d8784828501610b99565b91505092915050565b610d9981610b78565b82525050565b6000602082019050610db46000830184610d90565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610de582610dba565b9050919050565b610df581610dda565b82525050565b6000602082019050610e106000830184610dec565b92915050565b60008115159050919050565b610e2b81610e16565b82525050565b6000604082019050610e466000830185610e22565b610e536020830184610e22565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610e8f81610b78565b82525050565b6000610ea18383610e86565b60208301905092915050565b6000602082019050919050565b6000610ec582610e5a565b610ecf8185610e65565b9350610eda83610e76565b8060005b83811015610f0b578151610ef28882610e95565b9750610efd83610ead565b925050600181019050610ede565b5085935050505092915050565b6000604082019050610f2d6000830185610e22565b8181036020830152610f3f8184610eba565b90509392505050565b610f5181610dda565b8114610f5c57600080fd5b50565b600081359050610f6e81610f48565b92915050565b600060208284031215610f8a57610f89610b6e565b5b6000610f9884828501610f5f565b91505092915050565b6000604082019050610fb66000830185610dec565b610fc36020830184610dec565b9392505050565b600082825260208201905092915050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000611011601683610fca565b915061101c82610fdb565b602082019050919050565b6000602082019050818103600083015261104081611004565b9050919050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b600061107d601183610fca565b915061108882611047565b602082019050919050565b600060208201905081810360008301526110ac81611070565b9050919050565b6000819050919050565b6110c6816110b3565b82525050565b600067ffffffffffffffff82169050919050565b6110e9816110cc565b82525050565b600061ffff82169050919050565b611106816110ef565b82525050565b600063ffffffff82169050919050565b6111258161110c565b82525050565b600060a08201905061114060008301886110bd565b61114d60208301876110e0565b61115a60408301866110fd565b611167606083018561111c565b611174608083018461111c565b9695505050505050565b60008151905061118d81610b82565b92915050565b6000602082840312156111a9576111a8610b6e565b5b60006111b78482850161117e565b91505092915050565b60006040820190506111d56000830185610d90565b6111e2602083018461111c565b9392505050565b60006040820190506111fe6000830185610d90565b81810360208301526112108184610eba565b90509392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b600061124f601683610fca565b915061125a82611219565b602082019050919050565b6000602082019050818103600083015261127e81611242565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b60006112bb601783610fca565b91506112c682611285565b602082019050919050565b600060208201905081810360008301526112ea816112ae565b905091905056fea2646970667358221220baac70564b5f05c6ae874ea62d63e906fa21c7a1944a79fd48bc044b77bb2f5264736f6c63430008120033", | |
"opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE PUSH32 0x474E34A077DF58807DBE9C96D3C009B23B3C6D0CCE433E59BBF5B34F823BC56C PUSH1 0x0 SHL PUSH1 0x6 SSTORE PUSH3 0x186A0 PUSH1 0x7 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x7 PUSH1 0x4 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH2 0xFFFF MUL NOT AND SWAP1 DUP4 PUSH2 0xFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x7 PUSH1 0x6 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH4 0xFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH4 0xFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x187B CODESIZE SUB DUP1 PUSH3 0x187B DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0xC2 SWAP2 SWAP1 PUSH3 0x40A JUMP JUMPDEST CALLER DUP1 PUSH1 0x0 PUSH20 0x8103B0A8A00BE2DDC778E6E7EAA21791CD364625 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x182 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x179 SWAP1 PUSH3 0x49D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT 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 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x209 JUMPI PUSH3 0x208 DUP2 PUSH3 0x291 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST JUMPDEST POP POP POP PUSH20 0x8103B0A8A00BE2DDC778E6E7EAA21791CD364625 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x3 PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH3 0x531 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH3 0x302 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x2F9 SWAP1 PUSH3 0x50F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x3E4 DUP2 PUSH3 0x3C5 JUMP JUMPDEST DUP2 EQ PUSH3 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x404 DUP2 PUSH3 0x3D9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x423 JUMPI PUSH3 0x422 PUSH3 0x3C0 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH3 0x433 DUP5 DUP3 DUP6 ADD PUSH3 0x3F3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F7420736574206F776E657220746F207A65726F0000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x485 PUSH1 0x18 DUP4 PUSH3 0x43C JUMP JUMPDEST SWAP2 POP PUSH3 0x492 DUP3 PUSH3 0x44D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x4B8 DUP2 PUSH3 0x476 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4F7 PUSH1 0x17 DUP4 PUSH3 0x43C JUMP JUMPDEST SWAP2 POP PUSH3 0x504 DUP3 PUSH3 0x4BF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x52A DUP2 PUSH3 0x4E8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x1327 PUSH3 0x554 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1C8 ADD MSTORE PUSH2 0x21C ADD MSTORE PUSH2 0x1327 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 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA168FA89 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA168FA89 EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0xD8A4676F EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0xE0C86289 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x18C JUMPI DUP1 PUSH4 0xFC2A88C3 EQ PUSH2 0x1A8 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x79BA5097 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x8796BA8C EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xEE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1C6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBC PUSH2 0x286 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD3 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x41B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF6 PUSH2 0x43F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x103 SWAP2 SWAP1 PUSH2 0xDFB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x126 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x121 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x468 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x134 SWAP3 SWAP2 SWAP1 PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x157 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x152 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x4A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP3 SWAP2 SWAP1 PUSH2 0xF18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x176 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x183 SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0xF74 JUMP JUMPDEST PUSH2 0x82A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B0 PUSH2 0x83E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x278 JUMPI CALLER PUSH32 0x0 PUSH1 0x40 MLOAD PUSH32 0x1CF993F400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26F SWAP3 SWAP2 SWAP1 PUSH2 0xFA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x282 DUP3 DUP3 PUSH2 0x844 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x316 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x30D SWAP1 PUSH2 0x1027 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x42B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x50D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x504 SWAP1 PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5B2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x59E JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 PUSH1 0x0 ADD MLOAD DUP2 PUSH1 0x40 ADD MLOAD SWAP3 POP SWAP3 POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DB PUSH2 0x93E JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5D3B1D30 PUSH1 0x6 SLOAD PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x7 PUSH1 0x4 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x7 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68A SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x112B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6CD SWAP2 SWAP1 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x707 JUMPI PUSH2 0x706 PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x735 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP DUP2 MSTORE POP PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x7A8 SWAP3 SWAP2 SWAP1 PUSH2 0xAFA JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x4 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH32 0xCC58B13AD3EAB50626C6A6300B1D139CD6EBB1688A7CCED9461C2F7E762665EE DUP2 PUSH1 0x7 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x81F SWAP3 SWAP2 SWAP1 PUSH2 0x11C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP1 JUMP JUMPDEST PUSH2 0x832 PUSH2 0x93E JUMP JUMPDEST PUSH2 0x83B DUP2 PUSH2 0x9CE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x8A7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89E SWAP1 PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x900 SWAP3 SWAP2 SWAP1 PUSH2 0xAFA JUMP JUMPDEST POP PUSH32 0xFE2E2D779DBA245964D4E3EF9B994BE63856FD568BF7D3CA9E224755CB1BD54D DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x932 SWAP3 SWAP2 SWAP1 PUSH2 0x11E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9CC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9C3 SWAP1 PUSH2 0x1265 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA3C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA33 SWAP1 PUSH2 0x12D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0xB36 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB35 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xB1A JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xB43 SWAP2 SWAP1 PUSH2 0xB47 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB60 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xB48 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8B DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP2 EQ PUSH2 0xB96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBA8 DUP2 PUSH2 0xB82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xBFC DUP3 PUSH2 0xBB3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xC1B JUMPI PUSH2 0xC1A PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH2 0xB64 JUMP JUMPDEST SWAP1 POP PUSH2 0xC3A DUP3 DUP3 PUSH2 0xBF3 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC5A JUMPI PUSH2 0xC59 PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC83 PUSH2 0xC7E DUP5 PUSH2 0xC3F JUMP JUMPDEST PUSH2 0xC24 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0xCA6 JUMPI PUSH2 0xCA5 PUSH2 0xC6B JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xCCF JUMPI DUP1 PUSH2 0xCBB DUP9 DUP3 PUSH2 0xB99 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCA8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xCEE JUMPI PUSH2 0xCED PUSH2 0xBAE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCFE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xC70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1E JUMPI PUSH2 0xD1D PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD2C DUP6 DUP3 DUP7 ADD PUSH2 0xB99 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD4D JUMPI PUSH2 0xD4C PUSH2 0xB73 JUMP JUMPDEST JUMPDEST PUSH2 0xD59 DUP6 DUP3 DUP7 ADD PUSH2 0xCD9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD79 JUMPI PUSH2 0xD78 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD87 DUP5 DUP3 DUP6 ADD PUSH2 0xB99 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD99 DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDB4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE5 DUP3 PUSH2 0xDBA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF5 DUP2 PUSH2 0xDDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE10 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDEC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE2B DUP2 PUSH2 0xE16 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xE46 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE22 JUMP JUMPDEST PUSH2 0xE53 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xE22 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE8F DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEA1 DUP4 DUP4 PUSH2 0xE86 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEC5 DUP3 PUSH2 0xE5A JUMP JUMPDEST PUSH2 0xECF DUP2 DUP6 PUSH2 0xE65 JUMP JUMPDEST SWAP4 POP PUSH2 0xEDA DUP4 PUSH2 0xE76 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF0B JUMPI DUP2 MLOAD PUSH2 0xEF2 DUP9 DUP3 PUSH2 0xE95 JUMP JUMPDEST SWAP8 POP PUSH2 0xEFD DUP4 PUSH2 0xEAD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xEDE JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xF2D PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE22 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xF3F DUP2 DUP5 PUSH2 0xEBA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xF51 DUP2 PUSH2 0xDDA JUMP JUMPDEST DUP2 EQ PUSH2 0xF5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF6E DUP2 PUSH2 0xF48 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF8A JUMPI PUSH2 0xF89 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF98 DUP5 DUP3 DUP6 ADD PUSH2 0xF5F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xFB6 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xDEC JUMP JUMPDEST PUSH2 0xFC3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xDEC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4D7573742062652070726F706F736564206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1011 PUSH1 0x16 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x101C DUP3 PUSH2 0xFDB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1040 DUP2 PUSH2 0x1004 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x72657175657374206E6F7420666F756E64000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x107D PUSH1 0x11 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x1088 DUP3 PUSH2 0x1047 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x10AC DUP2 PUSH2 0x1070 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C6 DUP2 PUSH2 0x10B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10E9 DUP2 PUSH2 0x10CC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1106 DUP2 PUSH2 0x10EF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1125 DUP2 PUSH2 0x110C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1140 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x10BD JUMP JUMPDEST PUSH2 0x114D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x10E0 JUMP JUMPDEST PUSH2 0x115A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x10FD JUMP JUMPDEST PUSH2 0x1167 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x111C JUMP JUMPDEST PUSH2 0x1174 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x118D DUP2 PUSH2 0xB82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11A9 JUMPI PUSH2 0x11A8 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11B7 DUP5 DUP3 DUP6 ADD PUSH2 0x117E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x11D5 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xD90 JUMP JUMPDEST PUSH2 0x11E2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x11FE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xD90 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1210 DUP2 DUP5 PUSH2 0xEBA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4F6E6C792063616C6C61626C65206279206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124F PUSH1 0x16 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x125A DUP3 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x127E DUP2 PUSH2 0x1242 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12BB PUSH1 0x17 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x12C6 DUP3 PUSH2 0x1285 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12EA DUP2 PUSH2 0x12AE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xAC PUSH17 0x564B5F05C6AE874EA62D63E906FA21C7A1 SWAP5 0x4A PUSH26 0xFD48BC044B77BB2F5264736F6C63430008120033000000000000 ", | |
"sourceMap": "733:3568:5:-:0;;;1675:66;1649:92;;;;2184:6;2158:32;;;;;;;;;;;;;;;;;;;;2281:1;2251:31;;;;;;;;;;;;;;;;;;;;2426:1;2408:19;;;;;;;;;;;;;;;;;;;;2542:323;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2684:10;327:8:0;345:1;2617:42:5;5616:15:2;5599:32;;;;;;;;;;5556:80;572:1:1;552:22;;:8;:22;;;544:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;620:8;610:7;;:18;;;;;;;;;;;;;;;;;;662:1;638:26;;:12;:26;;;634:79;;674:32;693:12;674:18;;;:32;;:::i;:::-;634:79;486:231;;270:81:0;2763:42:5::2;2710:11;;:105;;;;;;;;;;;;;;;;;;2844:14;2825:16;;:33;;;;;;;;;;;;;;;;;;2542:323:::0;733:3568;;1497:188:1;1565:10;1559:16;;:2;:16;;;1551:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:2;1610:14;;:19;;;;;;;;;;;;;;;;;;1677:2;1641:39;;1668:7;;;;;;;;;;1641:39;;;;;;;;;;;;1497:188;:::o;88:117:6:-;197:1;194;187:12;334:101;370:7;410:18;403:5;399:30;388:41;;334:101;;;:::o;441:120::-;513:23;530:5;513:23;:::i;:::-;506:5;503:34;493:62;;551:1;548;541:12;493:62;441:120;:::o;567:141::-;623:5;654:6;648:13;639:22;;670:32;696:5;670:32;:::i;:::-;567:141;;;;:::o;714:349::-;783:6;832:2;820:9;811:7;807:23;803:32;800:119;;;838:79;;:::i;:::-;800:119;958:1;983:63;1038:7;1029:6;1018:9;1014:22;983:63;:::i;:::-;973:73;;929:127;714:349;;;;:::o;1069:169::-;1153:11;1187:6;1182:3;1175:19;1227:4;1222:3;1218:14;1203:29;;1069:169;;;;:::o;1244:174::-;1384:26;1380:1;1372:6;1368:14;1361:50;1244:174;:::o;1424:366::-;1566:3;1587:67;1651:2;1646:3;1587:67;:::i;:::-;1580:74;;1663:93;1752:3;1663:93;:::i;:::-;1781:2;1776:3;1772:12;1765:19;;1424:366;;;:::o;1796:419::-;1962:4;2000:2;1989:9;1985:18;1977:26;;2049:9;2043:4;2039:20;2035:1;2024:9;2020:17;2013:47;2077:131;2203:4;2077:131;:::i;:::-;2069:139;;1796:419;;;:::o;2221:173::-;2361:25;2357:1;2349:6;2345:14;2338:49;2221:173;:::o;2400:366::-;2542:3;2563:67;2627:2;2622:3;2563:67;:::i;:::-;2556:74;;2639:93;2728:3;2639:93;:::i;:::-;2757:2;2752:3;2748:12;2741:19;;2400:366;;;:::o;2772:419::-;2938:4;2976:2;2965:9;2961:18;2953:26;;3025:9;3019:4;3015:20;3011:1;3000:9;2996:17;2989:47;3053:131;3179:4;3053:131;:::i;:::-;3045:139;;2772:419;;;:::o;733:3568:5:-;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_transferOwnership_159": { | |
"entryPoint": 2510, | |
"id": 159, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"@_validateOwnership_172": { | |
"entryPoint": 2366, | |
"id": 172, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@acceptOwnership_125": { | |
"entryPoint": 646, | |
"id": 125, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@fulfillRandomWords_520": { | |
"entryPoint": 2116, | |
"id": 520, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@getRequestStatus_552": { | |
"entryPoint": 1190, | |
"id": 552, | |
"parameterSlots": 1, | |
"returnSlots": 2 | |
}, | |
"@lastRequestId_397": { | |
"entryPoint": 2110, | |
"id": 397, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_135": { | |
"entryPoint": 1087, | |
"id": 135, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@rawFulfillRandomWords_238": { | |
"entryPoint": 454, | |
"id": 238, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@requestIds_395": { | |
"entryPoint": 1051, | |
"id": 395, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@requestRandomWords_483": { | |
"entryPoint": 1489, | |
"id": 483, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@s_requests_387": { | |
"entryPoint": 1128, | |
"id": 387, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@transferOwnership_89": { | |
"entryPoint": 2090, | |
"id": 89, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3184, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 3935, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3289, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 2969, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 4478, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 3956, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 3427, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256_fromMemory": { | |
"entryPoint": 4499, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3335, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
"entryPoint": 3733, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 3564, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 3770, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bool_to_t_bool_fromStack": { | |
"entryPoint": 3618, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 4285, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4208, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4100, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4674, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4782, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint16_to_t_uint16_fromStack": { | |
"entryPoint": 4349, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256": { | |
"entryPoint": 3718, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 3472, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint32_to_t_uint32_fromStack": { | |
"entryPoint": 4380, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint64_to_t_uint64_fromStack": { | |
"entryPoint": 4320, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 3579, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed": { | |
"entryPoint": 4001, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3864, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bool_t_bool__to_t_bool_t_bool__fromStack_reversed": { | |
"entryPoint": 3633, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed": { | |
"entryPoint": 4395, | |
"id": null, | |
"parameterSlots": 6, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4243, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4135, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4709, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4817, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 3487, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
"entryPoint": 4585, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed": { | |
"entryPoint": 4544, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"allocate_memory": { | |
"entryPoint": 3108, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": 2916, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3135, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3702, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3674, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3757, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 3685, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 4042, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 3546, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 3606, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 4275, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint16": { | |
"entryPoint": 4335, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 3514, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 2936, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint32": { | |
"entryPoint": 4364, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint64": { | |
"entryPoint": 4300, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"finalize_allocation": { | |
"entryPoint": 3059, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 3012, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
"entryPoint": 2990, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": { | |
"entryPoint": 3179, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": 2931, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 2926, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 2995, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b": { | |
"entryPoint": 4167, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c": { | |
"entryPoint": 4059, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3": { | |
"entryPoint": 4633, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2": { | |
"entryPoint": 4741, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 3912, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 2946, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:15562:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:6", | |
"type": "" | |
} | |
], | |
"src": "7:75:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "379:32:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "389:16:6", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "400:5:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "361:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "371:7:6", | |
"type": "" | |
} | |
], | |
"src": "334:77:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "460:79:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "517:16:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "526:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "529:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "519:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "519:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "519:12:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "483:5:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "508:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "490:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "490:24:6" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "480:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "480:35:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "473:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "473:43:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "470:63:6" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "453:5:6", | |
"type": "" | |
} | |
], | |
"src": "417:122:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "597:87:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "607:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "629:6:6" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "616:12:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "616:20:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "607:5:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "672:5:6" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "645:26:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "645:33:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "645:33:6" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "575:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "583:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "591:5:6", | |
"type": "" | |
} | |
], | |
"src": "545:139:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "779:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "796:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "799:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulFunctionDefinition", | |
"src": "690:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "861:54:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "871:38:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "889:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "896:2:6", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "885:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "885:14:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "905:2:6", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "901:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "901:7:6" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "881:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "881:28:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "871:6:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "844:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "854:6:6", | |
"type": "" | |
} | |
], | |
"src": "813:102:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "949:152:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "966:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "969:77:6", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "959:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "959:88:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "959:88:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1063:1:6", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1066:4:6", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1056:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1056:15:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1056:15:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1087:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1090:4:6", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1080:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1080:15:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1080:15:6" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "921:180:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1150:238:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1160:58:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1182:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1212:4:6" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "1190:21:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1190:27:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1178:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1178:40:6" | |
}, | |
"variables": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulTypedName", | |
"src": "1164:10:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1329:22:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "1331:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1331:18:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1331:18:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1272:10:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1284:18:6", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1269:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1269:34:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1308:10:6" | |
}, | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1320:6:6" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "1305:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1305:22:6" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "1266:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1266:62:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "1263:88:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1367:2:6", | |
"type": "", | |
"value": "64" | |
}, | |
{ | |
"name": "newFreePtr", | |
"nodeType": "YulIdentifier", | |
"src": "1371:10:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1360:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1360:22:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1360:22:6" | |
} | |
] | |
}, | |
"name": "finalize_allocation", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1136:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1144:4:6", | |
"type": "" | |
} | |
], | |
"src": "1107:281:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1435:88:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1445:30:6", | |
"value": { | |
"arguments": [], | |
"functionName": { | |
"name": "allocate_unbounded", | |
"nodeType": "YulIdentifier", | |
"src": "1455:18:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1455:20:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1445:6:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "1504:6:6" | |
}, | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1512:4:6" | |
} | |
], | |
"functionName": { | |
"name": "finalize_allocation", | |
"nodeType": "YulIdentifier", | |
"src": "1484:19:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1484:33:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1484:33:6" | |
} | |
] | |
}, | |
"name": "allocate_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1419:4:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "1428:6:6", | |
"type": "" | |
} | |
], | |
"src": "1394:129:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1611:229:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1716:22:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x41", | |
"nodeType": "YulIdentifier", | |
"src": "1718:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1718:18:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1718:18:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1688:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1696:18:6", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1685:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1685:30:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "1682:56:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1748:25:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "1760:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1768:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "1756:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1756:17:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1748:4:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1810:23:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1822:4:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1828:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1818:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1818:15:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "size", | |
"nodeType": "YulIdentifier", | |
"src": "1810:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "1595:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "size", | |
"nodeType": "YulTypedName", | |
"src": "1606:4:6", | |
"type": "" | |
} | |
], | |
"src": "1529:311:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1935:28:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1952:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1955:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1945:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1945:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1945:12:6" | |
} | |
] | |
}, | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1846:117:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2088:608:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2098:90:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2180:6:6" | |
} | |
], | |
"functionName": { | |
"name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2123:56:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2123:64:6" | |
} | |
], | |
"functionName": { | |
"name": "allocate_memory", | |
"nodeType": "YulIdentifier", | |
"src": "2107:15:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2107:81:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2098:5:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2197:16:6", | |
"value": { | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2208:5:6" | |
}, | |
"variables": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "2201:3:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2230:5:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2237:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2223:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2223:21:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2223:21:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2253:23:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2264:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2271:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2260:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2260:16:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2253:3:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2286:44:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2304:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2316:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2324:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "2312:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2312:17:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2300:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2300:30:6" | |
}, | |
"variables": [ | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulTypedName", | |
"src": "2290:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2358:103:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", | |
"nodeType": "YulIdentifier", | |
"src": "2372:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2372:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2372:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2345:6:6" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2353:3:6" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "2342:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2342:15:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "2339:122:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2546:144:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2561:21:6", | |
"value": { | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2579:3:6" | |
}, | |
"variables": [ | |
{ | |
"name": "elementPos", | |
"nodeType": "YulTypedName", | |
"src": "2565:10:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2603:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "elementPos", | |
"nodeType": "YulIdentifier", | |
"src": "2629:10:6" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2641:3:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2608:20:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2608:37:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2596:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2596:50:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2596:50:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2659:21:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2670:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2675:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2666:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2666:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "2659:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2499:3:6" | |
}, | |
{ | |
"name": "srcEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2504:6:6" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "2496:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2496:15:6" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "2512:25:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2514:21:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2525:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2530:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2521:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2521:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "2514:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "2474:21:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2476:17:6", | |
"value": { | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2487:6:6" | |
}, | |
"variables": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "2480:3:6", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "2470:220:6" | |
} | |
] | |
}, | |
"name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2058:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2066:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2074:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "2082:5:6", | |
"type": "" | |
} | |
], | |
"src": "1986:710:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2796:293:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2845:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
"nodeType": "YulIdentifier", | |
"src": "2847:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2847:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2847:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2824:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2832:4:6", | |
"type": "", | |
"value": "0x1f" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2820:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2820:17:6" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "2839:3:6" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2816:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2816:27:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "2809:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2809:35:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "2806:122:6" | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2937:34:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2964:6:6" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "2951:12:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2951:20:6" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2941:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2980:103:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3056:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3064:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3052:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3052:17:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3071:6:6" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3079:3:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "2989:62:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2989:94:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "array", | |
"nodeType": "YulIdentifier", | |
"src": "2980:5:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2774:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "2782:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "array", | |
"nodeType": "YulTypedName", | |
"src": "2790:5:6", | |
"type": "" | |
} | |
], | |
"src": "2719:370:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3203:576:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3249:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "3251:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3251:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3251:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3224:7:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3233:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3220:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3220:23:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3245:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "3216:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3216:32:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "3213:119:6" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3342:117:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3357:15:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3371:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3361:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3386:63:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3421:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3432:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3417:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3417:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3441:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3396:20:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3396:53:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3386:6:6" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3469:303:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3484:46:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3515:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3526:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3511:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3511:18:6" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "3498:12:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3498:32:6" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3488:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3577:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulIdentifier", | |
"src": "3579:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3579:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3579:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3549:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3557:18:6", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "3546:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3546:30:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "3543:117:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3674:88:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3734:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3745:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3730:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3730:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3754:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3684:45:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3684:78:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "3674:6:6" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3165:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "3176:7:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3188:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "3196:6:6", | |
"type": "" | |
} | |
], | |
"src": "3095:684:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3851:263:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3897:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "3899:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3899:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3899:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3872:7:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3881:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3868:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3868:23:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3893:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "3864:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3864:32:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "3861:119:6" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3990:117:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4005:15:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4019:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4009:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4034:63:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4069:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "4080:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4065:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4065:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "4089:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4044:20:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4044:53:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4034:6:6" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3821:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "3832:7:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3844:6:6", | |
"type": "" | |
} | |
], | |
"src": "3785:329:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4185:53:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4202:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4225:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4207:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4207:24:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4195:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4195:37:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4195:37:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4173:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4180:3:6", | |
"type": "" | |
} | |
], | |
"src": "4120:118:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4342:124:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4352:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4364:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4375:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4360:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4360:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4352:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "4432:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4445:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4456:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4441:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4441:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4388:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4388:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4388:71:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4314:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4326:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4337:4:6", | |
"type": "" | |
} | |
], | |
"src": "4244:222:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4517:81:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4527:65:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4542:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4549:42:6", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4538:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4538:54:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4527:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4499:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4509:7:6", | |
"type": "" | |
} | |
], | |
"src": "4472:126:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4649:51:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4659:35:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4688:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "4670:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4670:24:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4659:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4631:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4641:7:6", | |
"type": "" | |
} | |
], | |
"src": "4604:96:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4771:53:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4788:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4811:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4793:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4793:24:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4781:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4781:37:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4781:37:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4759:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4766:3:6", | |
"type": "" | |
} | |
], | |
"src": "4706:118:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4928:124:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4938:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "4950:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4961:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4946:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4946:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "4938:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5018:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5031:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5042:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5027:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5027:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4974:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4974:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4974:71:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "4900:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "4912:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "4923:4:6", | |
"type": "" | |
} | |
], | |
"src": "4830:222:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5100:48:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5110:32:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5135:5:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5128:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5128:13:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5121:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5121:21:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5110:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5082:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5092:7:6", | |
"type": "" | |
} | |
], | |
"src": "5058:90:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5213:50:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5230:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5250:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "5235:14:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5235:21:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5223:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5223:34:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5223:34:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5201:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5208:3:6", | |
"type": "" | |
} | |
], | |
"src": "5154:109:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5383:194:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5393:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5405:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5416:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5401:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5401:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "5393:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5467:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5480:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5491:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5476:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5476:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5429:37:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5429:65:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5429:65:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "5542:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5555:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5566:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5551:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5551:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5504:37:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5504:66:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5504:66:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool_t_bool__to_t_bool_t_bool__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5347:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "5359:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5367:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "5378:4:6", | |
"type": "" | |
} | |
], | |
"src": "5269:308:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5657:40:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5668:22:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5684:5:6" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5678:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5678:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5668:6:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5640:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "5650:6:6", | |
"type": "" | |
} | |
], | |
"src": "5583:114:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5814:73:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5831:3:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "5836:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5824:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5824:19:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5824:19:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5852:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5871:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5876:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5867:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5867:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "5852:11:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5786:3:6", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "5791:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "5802:11:6", | |
"type": "" | |
} | |
], | |
"src": "5703:184:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5965:60:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5975:11:6", | |
"value": { | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "5983:3:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "5975:4:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5996:22:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "6008:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6013:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6004:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6004:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "5996:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "5952:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "5960:4:6", | |
"type": "" | |
} | |
], | |
"src": "5893:132:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6086:53:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6103:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6126:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6108:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6108:24:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6096:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6096:37:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6096:37:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6074:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6081:3:6", | |
"type": "" | |
} | |
], | |
"src": "6031:108:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6225:99:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6269:6:6" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6277:3:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6235:33:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6235:46:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6235:46:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6290:28:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6308:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6313:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6304:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6304:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulIdentifier", | |
"src": "6290:10:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6198:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6206:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulTypedName", | |
"src": "6214:10:6", | |
"type": "" | |
} | |
], | |
"src": "6145:179:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6405:38:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6415:22:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "6427:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6432:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6423:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6423:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "next", | |
"nodeType": "YulIdentifier", | |
"src": "6415:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "6392:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "next", | |
"nodeType": "YulTypedName", | |
"src": "6400:4:6", | |
"type": "" | |
} | |
], | |
"src": "6330:113:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6603:608:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6613:68:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6675:5:6" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "6627:47:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6627:54:6" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "6617:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6690:93:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6771:3:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "6776:6:6" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6697:73:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6697:86:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6690:3:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6792:71:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6857:5:6" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "6807:49:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6807:56:6" | |
}, | |
"variables": [ | |
{ | |
"name": "baseRef", | |
"nodeType": "YulTypedName", | |
"src": "6796:7:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6872:21:6", | |
"value": { | |
"name": "baseRef", | |
"nodeType": "YulIdentifier", | |
"src": "6886:7:6" | |
}, | |
"variables": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulTypedName", | |
"src": "6876:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6962:224:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6976:34:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7003:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "6997:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6997:13:6" | |
}, | |
"variables": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulTypedName", | |
"src": "6980:13:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7023:70:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulIdentifier", | |
"src": "7074:13:6" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7089:3:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "7030:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7030:63:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7023:3:6" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7106:70:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7169:6:6" | |
} | |
], | |
"functionName": { | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "7116:52:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7116:60:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "7106:6:6" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "6924:1:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "6927:6:6" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "6921:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6921:13:6" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "6935:18:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6937:14:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "6946:1:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6949:1:6", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6942:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6942:9:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "6937:1:6" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "6906:14:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6908:10:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6917:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "6912:1:6", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "6902:284:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7195:10:6", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7202:3:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7195:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6582:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6589:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6598:3:6", | |
"type": "" | |
} | |
], | |
"src": "6479:732:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7387:301:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7397:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7409:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7420:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7405:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7405:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7397:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7471:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7484:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7495:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7480:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7480:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bool_to_t_bool_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7433:37:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7433:65:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7433:65:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7519:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7530:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7515:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7515:18:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7539:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7545:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "7535:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7535:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7508:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7508:48:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7508:48:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7565:116:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7667:6:6" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7676:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7573:93:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7573:108:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7565:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7351:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7363:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7371:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7382:4:6", | |
"type": "" | |
} | |
], | |
"src": "7217:471:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7737:79:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7794:16:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7803:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7806:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "7796:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7796:12:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7796:12:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7760:5:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7785:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "7767:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7767:24:6" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "7757:2:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7757:35:6" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "7750:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7750:43:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "7747:63:6" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7730:5:6", | |
"type": "" | |
} | |
], | |
"src": "7694:122:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7874:87:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7884:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "7906:6:6" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "7893:12:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7893:20:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7884:5:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "7949:5:6" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "7922:26:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7922:33:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7922:33:6" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "7852:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7860:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "7868:5:6", | |
"type": "" | |
} | |
], | |
"src": "7822:139:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8033:263:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8079:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "8081:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8081:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8081:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "8054:7:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8063:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8050:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8050:23:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8075:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "8046:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8046:32:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "8043:119:6" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "8172:117:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "8187:15:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8201:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "8191:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8216:63:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8251:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "8262:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8247:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8247:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "8271:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "8226:20:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8226:53:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8216:6:6" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8003:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "8014:7:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8026:6:6", | |
"type": "" | |
} | |
], | |
"src": "7967:329:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8428:206:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8438:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8450:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8461:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8446:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8446:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8438:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8518:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8531:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8542:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8527:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8527:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8474:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8474:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8474:71:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "8599:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8612:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8623:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8608:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8608:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8555:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8555:72:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8555:72:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8392:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8404:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8412:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8423:4:6", | |
"type": "" | |
} | |
], | |
"src": "8302:332:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8736:73:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8753:3:6" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "8758:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8746:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8746:19:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8746:19:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8774:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "8793:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8798:4:6", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8789:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8789:14:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "8774:11:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "8708:3:6", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "8713:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "8724:11:6", | |
"type": "" | |
} | |
], | |
"src": "8640:169:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8921:66:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "8943:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8951:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8939:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8939:14:6" | |
}, | |
{ | |
"hexValue": "4d7573742062652070726f706f736564206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "8955:24:6", | |
"type": "", | |
"value": "Must be proposed owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8932:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8932:48:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8932:48:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "8913:6:6", | |
"type": "" | |
} | |
], | |
"src": "8815:172:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9139:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9149:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9215:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9220:2:6", | |
"type": "", | |
"value": "22" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9156:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9156:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9149:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9321:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c", | |
"nodeType": "YulIdentifier", | |
"src": "9232:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9232:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9232:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9334:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "9345:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9350:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9341:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9341:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "9334:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "9127:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "9135:3:6", | |
"type": "" | |
} | |
], | |
"src": "8993:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9536:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9546:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9558:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9569:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9554:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9554:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9546:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9593:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9604:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9589:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9589:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9612:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9618:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9608:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9608:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9582:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9582:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9582:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9638:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9772:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9646:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9646:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9638:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9516:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9531:4:6", | |
"type": "" | |
} | |
], | |
"src": "9365:419:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9896:61:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "9918:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9926:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9914:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9914:14:6" | |
}, | |
{ | |
"hexValue": "72657175657374206e6f7420666f756e64", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "9930:19:6", | |
"type": "", | |
"value": "request not found" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9907:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9907:43:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9907:43:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "9888:6:6", | |
"type": "" | |
} | |
], | |
"src": "9790:167:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10109:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10119:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10185:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10190:2:6", | |
"type": "", | |
"value": "17" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10126:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10126:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10119:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10291:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b", | |
"nodeType": "YulIdentifier", | |
"src": "10202:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10202:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10202:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10304:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10315:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10320:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10311:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10311:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "10304:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10097:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "10105:3:6", | |
"type": "" | |
} | |
], | |
"src": "9963:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10506:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10516:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10528:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10539:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10524:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10524:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10516:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10563:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10574:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10559:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10559:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10582:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10588:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10578:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10578:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10552:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10552:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10552:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10608:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10742:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10616:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10616:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10608:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10486:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10501:4:6", | |
"type": "" | |
} | |
], | |
"src": "10335:419:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10805:32:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10815:16:6", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10826:5:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "10815:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10787:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "10797:7:6", | |
"type": "" | |
} | |
], | |
"src": "10760:77:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10908:53:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "10925:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10948:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "10930:17:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10930:24:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10918:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10918:37:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10918:37:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10896:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "10903:3:6", | |
"type": "" | |
} | |
], | |
"src": "10843:118:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11011:57:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11021:41:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11036:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11043:18:6", | |
"type": "", | |
"value": "0xffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "11032:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11032:30:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "11021:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10993:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "11003:7:6", | |
"type": "" | |
} | |
], | |
"src": "10967:101:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11137:52:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11154:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11176:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint64", | |
"nodeType": "YulIdentifier", | |
"src": "11159:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11159:23:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11147:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11147:36:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11147:36:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint64_to_t_uint64_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11125:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11132:3:6", | |
"type": "" | |
} | |
], | |
"src": "11074:115:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11239:45:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11249:29:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11264:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11271:6:6", | |
"type": "", | |
"value": "0xffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "11260:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11260:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "11249:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint16", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11221:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "11231:7:6", | |
"type": "" | |
} | |
], | |
"src": "11195:89:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11353:52:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11370:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11392:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint16", | |
"nodeType": "YulIdentifier", | |
"src": "11375:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11375:23:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11363:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11363:36:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11363:36:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint16_to_t_uint16_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11341:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11348:3:6", | |
"type": "" | |
} | |
], | |
"src": "11290:115:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11455:49:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11465:33:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11480:5:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11487:10:6", | |
"type": "", | |
"value": "0xffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "11476:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11476:22:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "11465:7:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11437:5:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "11447:7:6", | |
"type": "" | |
} | |
], | |
"src": "11411:93:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11573:52:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11590:3:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11612:5:6" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint32", | |
"nodeType": "YulIdentifier", | |
"src": "11595:16:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11595:23:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11583:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11583:36:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11583:36:6" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "11561:5:6", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11568:3:6", | |
"type": "" | |
} | |
], | |
"src": "11510:115:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11833:446:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11843:27:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11855:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11866:3:6", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11851:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11851:19:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11843:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "11924:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11937:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11948:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11933:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11933:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11880:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11880:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11880:71:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "12003:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12016:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12027:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12012:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12012:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint64_to_t_uint64_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11961:41:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11961:70:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11961:70:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "12083:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12096:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12107:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12092:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12092:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint16_to_t_uint16_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12041:41:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12041:70:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12041:70:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "12163:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12176:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12187:2:6", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12172:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12172:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12121:41:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12121:70:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12121:70:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "12243:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12256:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12267:3:6", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12252:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12252:19:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12201:41:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12201:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12201:71:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11773:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "11785:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "11793:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "11801:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "11809:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "11817:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11828:4:6", | |
"type": "" | |
} | |
], | |
"src": "11631:648:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12348:80:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12358:22:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "12373:6:6" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "12367:5:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12367:13:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12358:5:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12416:5:6" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "12389:26:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12389:33:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12389:33:6" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "12326:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "12334:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12342:5:6", | |
"type": "" | |
} | |
], | |
"src": "12285:143:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12511:274:6", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12557:83:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "12559:77:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12559:79:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12559:79:6" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "12532:7:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12541:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "12528:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12528:23:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12553:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "12524:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12524:32:6" | |
}, | |
"nodeType": "YulIf", | |
"src": "12521:119:6" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "12650:128:6", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "12665:15:6", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12679:1:6", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "12669:6:6", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12694:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12740:9:6" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "12751:6:6" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12736:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12736:22:6" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "12760:7:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "12704:31:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12704:64:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12694:6:6" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12481:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "12492:7:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12504:6:6", | |
"type": "" | |
} | |
], | |
"src": "12434:351:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12915:204:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12925:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12937:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12948:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12933:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12933:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12925:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "13005:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13018:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13029:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13014:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13014:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12961:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12961:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12961:71:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "13084:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13097:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13108:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13093:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13093:18:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint32_to_t_uint32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13042:41:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13042:70:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13042:70:6" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12879:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "12891:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12899:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12910:4:6", | |
"type": "" | |
} | |
], | |
"src": "12791:328:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13301:307:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13311:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13323:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13334:2:6", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13319:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13319:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13311:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "13391:6:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13404:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13415:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13400:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13400:17:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13347:43:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13347:71:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13347:71:6" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13439:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13450:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13435:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13435:18:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13459:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "13465:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13455:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13455:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13428:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13428:48:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13428:48:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13485:116:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "13587:6:6" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13596:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13493:93:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13493:108:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "13485:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "13265:9:6", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "13277:6:6", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "13285:6:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "13296:4:6", | |
"type": "" | |
} | |
], | |
"src": "13125:483:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13720:66:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "13742:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13750:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13738:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13738:14:6" | |
}, | |
{ | |
"hexValue": "4f6e6c792063616c6c61626c65206279206f776e6572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "13754:24:6", | |
"type": "", | |
"value": "Only callable by owner" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13731:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13731:48:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13731:48:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "13712:6:6", | |
"type": "" | |
} | |
], | |
"src": "13614:172:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13938:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13948:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14014:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14019:2:6", | |
"type": "", | |
"value": "22" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "13955:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13955:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13948:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14120:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3", | |
"nodeType": "YulIdentifier", | |
"src": "14031:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14031:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14031:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14133:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14144:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14149:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14140:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14140:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "14133:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13926:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "13934:3:6", | |
"type": "" | |
} | |
], | |
"src": "13792:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14335:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14345:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14357:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14368:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14353:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14353:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14345:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14392:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14403:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14388:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14388:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14411:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "14417:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "14407:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14407:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14381:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14381:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14381:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14437:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14571:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14445:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14445:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "14437:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "14315:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "14330:4:6", | |
"type": "" | |
} | |
], | |
"src": "14164:419:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14695:67:6", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "14717:6:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14725:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14713:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14713:14:6" | |
}, | |
{ | |
"hexValue": "43616e6e6f74207472616e7366657220746f2073656c66", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "14729:25:6", | |
"type": "", | |
"value": "Cannot transfer to self" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14706:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14706:49:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14706:49:6" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "14687:6:6", | |
"type": "" | |
} | |
], | |
"src": "14589:173:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14914:220:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14924:74:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14990:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14995:2:6", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "14931:58:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14931:67:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "14924:3:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "15096:3:6" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2", | |
"nodeType": "YulIdentifier", | |
"src": "15007:88:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15007:93:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15007:93:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15109:19:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "15120:3:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15125:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15116:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15116:12:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "15109:3:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "14902:3:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "14910:3:6", | |
"type": "" | |
} | |
], | |
"src": "14768:366:6" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15311:248:6", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15321:26:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15333:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15344:2:6", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15329:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15329:18:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15321:4:6" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15368:9:6" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15379:1:6", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15364:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15364:17:6" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15387:4:6" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "15393:9:6" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "15383:3:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15383:20:6" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15357:6:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15357:47:6" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15357:47:6" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15413:139:6", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15547:4:6" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "15421:124:6" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15421:131:6" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "15413:4:6" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "15291:9:6", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "15306:4:6", | |
"type": "" | |
} | |
], | |
"src": "15140:419:6" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_uint256t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool_t_bool__to_t_bool_t_bool__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_bool_t_array$_t_uint256_$dyn_memory_ptr__to_t_bool_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, tail)\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__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_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be proposed owner\")\n\n }\n\n function abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0ff46bbb058c6b1431d73c360a5974025321b7ff6f532fcd8fc819bb0d10498c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b(memPtr) {\n\n mstore(add(memPtr, 0), \"request not found\")\n\n }\n\n function abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0880dc095000a80878793b3e55eb8c029daebb45a85dbc462aae5dacbd03526b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function cleanup_t_uint16(value) -> cleaned {\n cleaned := and(value, 0xffff)\n }\n\n function abi_encode_t_uint16_to_t_uint16_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint16(value))\n }\n\n function cleanup_t_uint32(value) -> cleaned {\n cleaned := and(value, 0xffffffff)\n }\n\n function abi_encode_t_uint32_to_t_uint32_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint32(value))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__to_t_bytes32_t_uint64_t_uint16_t_uint32_t_uint32__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint16_to_t_uint16_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value4, add(headStart, 128))\n\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_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint32__to_t_uint256_t_uint32__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint32_to_t_uint32_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__to_t_uint256_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, tail)\n\n }\n\n function store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3(memPtr) {\n\n mstore(add(memPtr, 0), \"Only callable by owner\")\n\n }\n\n function abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3bfd5788f2773712a5315b58174111e9db21853c8f7d7554f565be615cce78d3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot transfer to self\")\n\n }\n\n function abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_d3012c42c6ebc769df901053b800579e25c59d0072411860a37a10b5e66ce5e2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", | |
"id": 6, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": { | |
"192": [ | |
{ | |
"length": 32, | |
"start": 456 | |
}, | |
{ | |
"length": 32, | |
"start": 540 | |
} | |
] | |
}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100935760003560e01c8063a168fa8911610066578063a168fa891461010c578063d8a4676f1461013d578063e0c862891461016e578063f2fde38b1461018c578063fc2a88c3146101a857610093565b80631fe543e31461009857806379ba5097146100b45780638796ba8c146100be5780638da5cb5b146100ee575b600080fd5b6100b260048036038101906100ad9190610d07565b6101c6565b005b6100bc610286565b005b6100d860048036038101906100d39190610d63565b61041b565b6040516100e59190610d9f565b60405180910390f35b6100f661043f565b6040516101039190610dfb565b60405180910390f35b61012660048036038101906101219190610d63565b610468565b604051610134929190610e31565b60405180910390f35b61015760048036038101906101529190610d63565b6104a6565b604051610165929190610f18565b60405180910390f35b6101766105d1565b6040516101839190610d9f565b60405180910390f35b6101a660048036038101906101a19190610f74565b61082a565b005b6101b061083e565b6040516101bd9190610d9f565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461027857337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f400000000000000000000000000000000000000000000000000000000815260040161026f929190610fa1565b60405180910390fd5b6102828282610844565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d90611027565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6004818154811061042b57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b600060606002600084815260200190815260200160002060000160019054906101000a900460ff1661050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490611093565b60405180910390fd5b6000600260008581526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a900460ff16151515158152602001600182018054806020026020016040519081016040528092919081815260200182805480156105b257602002820191906000526020600020905b81548152602001906001019080831161059e575b5050505050815250509050806000015181604001519250925050915091565b60006105db61093e565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635d3b1d30600654600360149054906101000a900467ffffffffffffffff16600760049054906101000a900461ffff16600760009054906101000a900463ffffffff16600760069054906101000a900463ffffffff166040518663ffffffff1660e01b815260040161068a95949392919061112b565b6020604051808303816000875af11580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190611193565b90506040518060600160405280600015158152602001600115158152602001600067ffffffffffffffff81111561070757610706610bc4565b5b6040519080825280602002602001820160405280156107355781602001602082028036833780820191505090505b508152506002600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160010190805190602001906107a8929190610afa565b509050506004819080600181540180825580915050600190039060005260206000200160009091909190915055806005819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600760069054906101000a900463ffffffff1660405161081f9291906111c0565b60405180910390a190565b61083261093e565b61083b816109ce565b50565b60055481565b6002600083815260200190815260200160002060000160019054906101000a900460ff166108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e90611093565b60405180910390fd5b60016002600084815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600260008481526020019081526020016000206001019080519060200190610900929190610afa565b507ffe2e2d779dba245964d4e3ef9b994be63856fd568bf7d3ca9e224755cb1bd54d82826040516109329291906111e9565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390611265565b60405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a33906112d1565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b828054828255906000526020600020908101928215610b36579160200282015b82811115610b35578251825591602001919060010190610b1a565b5b509050610b439190610b47565b5090565b5b80821115610b60576000816000905550600101610b48565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610b8b81610b78565b8114610b9657600080fd5b50565b600081359050610ba881610b82565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610bfc82610bb3565b810181811067ffffffffffffffff82111715610c1b57610c1a610bc4565b5b80604052505050565b6000610c2e610b64565b9050610c3a8282610bf3565b919050565b600067ffffffffffffffff821115610c5a57610c59610bc4565b5b602082029050602081019050919050565b600080fd5b6000610c83610c7e84610c3f565b610c24565b90508083825260208201905060208402830185811115610ca657610ca5610c6b565b5b835b81811015610ccf5780610cbb8882610b99565b845260208401935050602081019050610ca8565b5050509392505050565b600082601f830112610cee57610ced610bae565b5b8135610cfe848260208601610c70565b91505092915050565b60008060408385031215610d1e57610d1d610b6e565b5b6000610d2c85828601610b99565b925050602083013567ffffffffffffffff811115610d4d57610d4c610b73565b5b610d5985828601610cd9565b9150509250929050565b600060208284031215610d7957610d78610b6e565b5b6000610d8784828501610b99565b91505092915050565b610d9981610b78565b82525050565b6000602082019050610db46000830184610d90565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610de582610dba565b9050919050565b610df581610dda565b82525050565b6000602082019050610e106000830184610dec565b92915050565b60008115159050919050565b610e2b81610e16565b82525050565b6000604082019050610e466000830185610e22565b610e536020830184610e22565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610e8f81610b78565b82525050565b6000610ea18383610e86565b60208301905092915050565b6000602082019050919050565b6000610ec582610e5a565b610ecf8185610e65565b9350610eda83610e76565b8060005b83811015610f0b578151610ef28882610e95565b9750610efd83610ead565b925050600181019050610ede565b5085935050505092915050565b6000604082019050610f2d6000830185610e22565b8181036020830152610f3f8184610eba565b90509392505050565b610f5181610dda565b8114610f5c57600080fd5b50565b600081359050610f6e81610f48565b92915050565b600060208284031215610f8a57610f89610b6e565b5b6000610f9884828501610f5f565b91505092915050565b6000604082019050610fb66000830185610dec565b610fc36020830184610dec565b9392505050565b600082825260208201905092915050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000611011601683610fca565b915061101c82610fdb565b602082019050919050565b6000602082019050818103600083015261104081611004565b9050919050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b600061107d601183610fca565b915061108882611047565b602082019050919050565b600060208201905081810360008301526110ac81611070565b9050919050565b6000819050919050565b6110c6816110b3565b82525050565b600067ffffffffffffffff82169050919050565b6110e9816110cc565b82525050565b600061ffff82169050919050565b611106816110ef565b82525050565b600063ffffffff82169050919050565b6111258161110c565b82525050565b600060a08201905061114060008301886110bd565b61114d60208301876110e0565b61115a60408301866110fd565b611167606083018561111c565b611174608083018461111c565b9695505050505050565b60008151905061118d81610b82565b92915050565b6000602082840312156111a9576111a8610b6e565b5b60006111b78482850161117e565b91505092915050565b60006040820190506111d56000830185610d90565b6111e2602083018461111c565b9392505050565b60006040820190506111fe6000830185610d90565b81810360208301526112108184610eba565b90509392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b600061124f601683610fca565b915061125a82611219565b602082019050919050565b6000602082019050818103600083015261127e81611242565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b60006112bb601783610fca565b91506112c682611285565b602082019050919050565b600060208201905081810360008301526112ea816112ae565b905091905056fea2646970667358221220baac70564b5f05c6ae874ea62d63e906fa21c7a1944a79fd48bc044b77bb2f5264736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA168FA89 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA168FA89 EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0xD8A4676F EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0xE0C86289 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x18C JUMPI DUP1 PUSH4 0xFC2A88C3 EQ PUSH2 0x1A8 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x1FE543E3 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x79BA5097 EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x8796BA8C EQ PUSH2 0xBE JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xEE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0xD07 JUMP JUMPDEST PUSH2 0x1C6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBC PUSH2 0x286 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xD3 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x41B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF6 PUSH2 0x43F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x103 SWAP2 SWAP1 PUSH2 0xDFB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x126 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x121 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x468 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x134 SWAP3 SWAP2 SWAP1 PUSH2 0xE31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x157 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x152 SWAP2 SWAP1 PUSH2 0xD63 JUMP JUMPDEST PUSH2 0x4A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x165 SWAP3 SWAP2 SWAP1 PUSH2 0xF18 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x176 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x183 SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A1 SWAP2 SWAP1 PUSH2 0xF74 JUMP JUMPDEST PUSH2 0x82A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1B0 PUSH2 0x83E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BD SWAP2 SWAP1 PUSH2 0xD9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x278 JUMPI CALLER PUSH32 0x0 PUSH1 0x40 MLOAD PUSH32 0x1CF993F400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x26F SWAP3 SWAP2 SWAP1 PUSH2 0xFA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x282 DUP3 DUP3 PUSH2 0x844 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x316 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x30D SWAP1 PUSH2 0x1027 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x42B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x50D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x504 SWAP1 PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x5B2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x59E JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 PUSH1 0x0 ADD MLOAD DUP2 PUSH1 0x40 ADD MLOAD SWAP3 POP SWAP3 POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5DB PUSH2 0x93E JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5D3B1D30 PUSH1 0x6 SLOAD PUSH1 0x3 PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x7 PUSH1 0x4 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x7 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD DUP7 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68A SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x112B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x6CD SWAP2 SWAP1 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x707 JUMPI PUSH2 0x706 PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x735 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP DUP2 MSTORE POP PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x7A8 SWAP3 SWAP2 SWAP1 PUSH2 0xAFA JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x4 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP SSTORE DUP1 PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH32 0xCC58B13AD3EAB50626C6A6300B1D139CD6EBB1688A7CCED9461C2F7E762665EE DUP2 PUSH1 0x7 PUSH1 0x6 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH4 0xFFFFFFFF AND PUSH1 0x40 MLOAD PUSH2 0x81F SWAP3 SWAP2 SWAP1 PUSH2 0x11C0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 SWAP1 JUMP JUMPDEST PUSH2 0x832 PUSH2 0x93E JUMP JUMPDEST PUSH2 0x83B DUP2 PUSH2 0x9CE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH2 0x8A7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x89E SWAP1 PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x900 SWAP3 SWAP2 SWAP1 PUSH2 0xAFA JUMP JUMPDEST POP PUSH32 0xFE2E2D779DBA245964D4E3EF9B994BE63856FD568BF7D3CA9E224755CB1BD54D DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x932 SWAP3 SWAP2 SWAP1 PUSH2 0x11E9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9CC JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9C3 SWAP1 PUSH2 0x1265 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA3C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA33 SWAP1 PUSH2 0x12D1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xED8889F560326EB138920D842192F0EB3DD22B4F139C87A2C57538E05BAE1278 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0xB36 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB35 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xB1A JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0xB43 SWAP2 SWAP1 PUSH2 0xB47 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB60 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0xB48 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8B DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP2 EQ PUSH2 0xB96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xBA8 DUP2 PUSH2 0xB82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xBFC DUP3 PUSH2 0xBB3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xC1B JUMPI PUSH2 0xC1A PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2E PUSH2 0xB64 JUMP JUMPDEST SWAP1 POP PUSH2 0xC3A DUP3 DUP3 PUSH2 0xBF3 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC5A JUMPI PUSH2 0xC59 PUSH2 0xBC4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC83 PUSH2 0xC7E DUP5 PUSH2 0xC3F JUMP JUMPDEST PUSH2 0xC24 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0xCA6 JUMPI PUSH2 0xCA5 PUSH2 0xC6B JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xCCF JUMPI DUP1 PUSH2 0xCBB DUP9 DUP3 PUSH2 0xB99 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xCA8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xCEE JUMPI PUSH2 0xCED PUSH2 0xBAE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCFE DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xC70 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD1E JUMPI PUSH2 0xD1D PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD2C DUP6 DUP3 DUP7 ADD PUSH2 0xB99 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xD4D JUMPI PUSH2 0xD4C PUSH2 0xB73 JUMP JUMPDEST JUMPDEST PUSH2 0xD59 DUP6 DUP3 DUP7 ADD PUSH2 0xCD9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD79 JUMPI PUSH2 0xD78 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xD87 DUP5 DUP3 DUP6 ADD PUSH2 0xB99 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD99 DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDB4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDE5 DUP3 PUSH2 0xDBA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDF5 DUP2 PUSH2 0xDDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE10 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDEC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE2B DUP2 PUSH2 0xE16 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xE46 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE22 JUMP JUMPDEST PUSH2 0xE53 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xE22 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE8F DUP2 PUSH2 0xB78 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEA1 DUP4 DUP4 PUSH2 0xE86 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEC5 DUP3 PUSH2 0xE5A JUMP JUMPDEST PUSH2 0xECF DUP2 DUP6 PUSH2 0xE65 JUMP JUMPDEST SWAP4 POP PUSH2 0xEDA DUP4 PUSH2 0xE76 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF0B JUMPI DUP2 MLOAD PUSH2 0xEF2 DUP9 DUP3 PUSH2 0xE95 JUMP JUMPDEST SWAP8 POP PUSH2 0xEFD DUP4 PUSH2 0xEAD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xEDE JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xF2D PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE22 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xF3F DUP2 DUP5 PUSH2 0xEBA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xF51 DUP2 PUSH2 0xDDA JUMP JUMPDEST DUP2 EQ PUSH2 0xF5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF6E DUP2 PUSH2 0xF48 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF8A JUMPI PUSH2 0xF89 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xF98 DUP5 DUP3 DUP6 ADD PUSH2 0xF5F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xFB6 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xDEC JUMP JUMPDEST PUSH2 0xFC3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xDEC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4D7573742062652070726F706F736564206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1011 PUSH1 0x16 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x101C DUP3 PUSH2 0xFDB JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1040 DUP2 PUSH2 0x1004 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x72657175657374206E6F7420666F756E64000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x107D PUSH1 0x11 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x1088 DUP3 PUSH2 0x1047 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x10AC DUP2 PUSH2 0x1070 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10C6 DUP2 PUSH2 0x10B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x10E9 DUP2 PUSH2 0x10CC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1106 DUP2 PUSH2 0x10EF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH4 0xFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1125 DUP2 PUSH2 0x110C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x1140 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x10BD JUMP JUMPDEST PUSH2 0x114D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x10E0 JUMP JUMPDEST PUSH2 0x115A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x10FD JUMP JUMPDEST PUSH2 0x1167 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x111C JUMP JUMPDEST PUSH2 0x1174 PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x118D DUP2 PUSH2 0xB82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x11A9 JUMPI PUSH2 0x11A8 PUSH2 0xB6E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x11B7 DUP5 DUP3 DUP6 ADD PUSH2 0x117E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x11D5 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xD90 JUMP JUMPDEST PUSH2 0x11E2 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x111C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x11FE PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xD90 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1210 DUP2 DUP5 PUSH2 0xEBA JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4F6E6C792063616C6C61626C65206279206F776E657200000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124F PUSH1 0x16 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x125A DUP3 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x127E DUP2 PUSH2 0x1242 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207472616E7366657220746F2073656C66000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12BB PUSH1 0x17 DUP4 PUSH2 0xFCA JUMP JUMPDEST SWAP2 POP PUSH2 0x12C6 DUP3 PUSH2 0x1285 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12EA DUP2 PUSH2 0x12AE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA 0xAC PUSH17 0x564B5F05C6AE874EA62D63E906FA21C7A1 SWAP5 0x4A PUSH26 0xFD48BC044B77BB2F5264736F6C63430008120033000000000000 ", | |
"sourceMap": "733:3568:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6618:256:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1016:265:1;;;:::i;:::-;;1350:27:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1332:81:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1123:59:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3974:325;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2927:675;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;826:98:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1383:28:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6618:256:2;6731:14;6717:28;;:10;:28;;;6713:109;;6788:10;6800:14;6762:53;;;;;;;;;;;;:::i;:::-;;;;;;;;6713:109;6827:42;6846:9;6857:11;6827:18;:42::i;:::-;6618:256;;:::o;1016:265:1:-;1089:14;;;;;;;;;;;1075:28;;:10;:28;;;1067:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1137:16;1156:7;;;;;;;;;;;1137:26;;1179:10;1169:7;;:20;;;;;;;;;;;;;;;;;;1220:1;1195:14;;:27;;;;;;;;;;;;;;;;;;1265:10;1234:42;;1255:8;1234:42;;;;;;;;;;;;1061:220;1016:265::o;1350:27:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1332:81:1:-;1379:7;1401;;;;;;;;;;;1394:14;;1332:81;:::o;1123:59:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3974:325::-;4057:14;4073:28;4121:10;:22;4132:10;4121:22;;;;;;;;;;;:29;;;;;;;;;;;;4113:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;4182:28;4213:10;:22;4224:10;4213:22;;;;;;;;;;;4182:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4253:7;:17;;;4272:7;:19;;;4245:47;;;;;3974:325;;;:::o;2927:675::-;3009:17;1956:20:1;:18;:20::i;:::-;3116:11:5::1;;;;;;;;;;;:30;;;3160:7;;3181:16;;;;;;;;;;;3211:20;;;;;;;;;;;3245:16;;;;;;;;;;;3275:8;;;;;;;;;;;3116:177;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3104:189;;3327:124;;;;;;;;3435:5;3327:124;;;;;;3406:4;3327:124;;;;;;3382:1;3368:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3327:124;;::::0;3303:10:::1;:21;3314:9;3303:21;;;;;;;;;;;:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3461:10;3477:9;3461:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3513:9;3497:13;:25;;;;3537:32;3549:9;3560:8;;;;;;;;;;;3537:32;;;;;;;:::i;:::-;;;;;;;;2927:675:::0;:::o;826:98:1:-;1956:20;:18;:20::i;:::-;897:22:::1;916:2;897:18;:22::i;:::-;826:98:::0;:::o;1383:28:5:-;;;;:::o;3608:360::-;3745:10;:22;3756:10;3745:22;;;;;;;;;;;:29;;;;;;;;;;;;3737:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3841:4;3806:10;:22;3817:10;3806:22;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;3892:12;3855:10;:22;3866:10;3855:22;;;;;;;;;;;:34;;:49;;;;;;;;;;;;:::i;:::-;;3919:42;3936:10;3948:12;3919:42;;;;;;;:::i;:::-;;;;;;;;3608:360;;:::o;1730:111:1:-;1802:7;;;;;;;;;;1788:21;;:10;:21;;;1780:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1730:111::o;1497:188::-;1565:10;1559:16;;:2;:16;;;1551:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:2;1610:14;;:19;;;;;;;;;;;;;;;;;;1677:2;1641:39;;1668:7;;;;;;;;;;1641:39;;;;;;;;;;;;1497:188;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:6:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:117::-;799:1;796;789:12;813:102;854:6;905:2;901:7;896:2;889:5;885:14;881:28;871:38;;813:102;;;:::o;921:180::-;969:77;966:1;959:88;1066:4;1063:1;1056:15;1090:4;1087:1;1080:15;1107:281;1190:27;1212:4;1190:27;:::i;:::-;1182:6;1178:40;1320:6;1308:10;1305:22;1284:18;1272:10;1269:34;1266:62;1263:88;;;1331:18;;:::i;:::-;1263:88;1371:10;1367:2;1360:22;1150:238;1107:281;;:::o;1394:129::-;1428:6;1455:20;;:::i;:::-;1445:30;;1484:33;1512:4;1504:6;1484:33;:::i;:::-;1394:129;;;:::o;1529:311::-;1606:4;1696:18;1688:6;1685:30;1682:56;;;1718:18;;:::i;:::-;1682:56;1768:4;1760:6;1756:17;1748:25;;1828:4;1822;1818:15;1810:23;;1529:311;;;:::o;1846:117::-;1955:1;1952;1945:12;1986:710;2082:5;2107:81;2123:64;2180:6;2123:64;:::i;:::-;2107:81;:::i;:::-;2098:90;;2208:5;2237:6;2230:5;2223:21;2271:4;2264:5;2260:16;2253:23;;2324:4;2316:6;2312:17;2304:6;2300:30;2353:3;2345:6;2342:15;2339:122;;;2372:79;;:::i;:::-;2339:122;2487:6;2470:220;2504:6;2499:3;2496:15;2470:220;;;2579:3;2608:37;2641:3;2629:10;2608:37;:::i;:::-;2603:3;2596:50;2675:4;2670:3;2666:14;2659:21;;2546:144;2530:4;2525:3;2521:14;2514:21;;2470:220;;;2474:21;2088:608;;1986:710;;;;;:::o;2719:370::-;2790:5;2839:3;2832:4;2824:6;2820:17;2816:27;2806:122;;2847:79;;:::i;:::-;2806:122;2964:6;2951:20;2989:94;3079:3;3071:6;3064:4;3056:6;3052:17;2989:94;:::i;:::-;2980:103;;2796:293;2719:370;;;;:::o;3095:684::-;3188:6;3196;3245:2;3233:9;3224:7;3220:23;3216:32;3213:119;;;3251:79;;:::i;:::-;3213:119;3371:1;3396:53;3441:7;3432:6;3421:9;3417:22;3396:53;:::i;:::-;3386:63;;3342:117;3526:2;3515:9;3511:18;3498:32;3557:18;3549:6;3546:30;3543:117;;;3579:79;;:::i;:::-;3543:117;3684:78;3754:7;3745:6;3734:9;3730:22;3684:78;:::i;:::-;3674:88;;3469:303;3095:684;;;;;:::o;3785:329::-;3844:6;3893:2;3881:9;3872:7;3868:23;3864:32;3861:119;;;3899:79;;:::i;:::-;3861:119;4019:1;4044:53;4089:7;4080:6;4069:9;4065:22;4044:53;:::i;:::-;4034:63;;3990:117;3785:329;;;;:::o;4120:118::-;4207:24;4225:5;4207:24;:::i;:::-;4202:3;4195:37;4120:118;;:::o;4244:222::-;4337:4;4375:2;4364:9;4360:18;4352:26;;4388:71;4456:1;4445:9;4441:17;4432:6;4388:71;:::i;:::-;4244:222;;;;:::o;4472:126::-;4509:7;4549:42;4542:5;4538:54;4527:65;;4472:126;;;:::o;4604:96::-;4641:7;4670:24;4688:5;4670:24;:::i;:::-;4659:35;;4604:96;;;:::o;4706:118::-;4793:24;4811:5;4793:24;:::i;:::-;4788:3;4781:37;4706:118;;:::o;4830:222::-;4923:4;4961:2;4950:9;4946:18;4938:26;;4974:71;5042:1;5031:9;5027:17;5018:6;4974:71;:::i;:::-;4830:222;;;;:::o;5058:90::-;5092:7;5135:5;5128:13;5121:21;5110:32;;5058:90;;;:::o;5154:109::-;5235:21;5250:5;5235:21;:::i;:::-;5230:3;5223:34;5154:109;;:::o;5269:308::-;5378:4;5416:2;5405:9;5401:18;5393:26;;5429:65;5491:1;5480:9;5476:17;5467:6;5429:65;:::i;:::-;5504:66;5566:2;5555:9;5551:18;5542:6;5504:66;:::i;:::-;5269:308;;;;;:::o;5583:114::-;5650:6;5684:5;5678:12;5668:22;;5583:114;;;:::o;5703:184::-;5802:11;5836:6;5831:3;5824:19;5876:4;5871:3;5867:14;5852:29;;5703:184;;;;:::o;5893:132::-;5960:4;5983:3;5975:11;;6013:4;6008:3;6004:14;5996:22;;5893:132;;;:::o;6031:108::-;6108:24;6126:5;6108:24;:::i;:::-;6103:3;6096:37;6031:108;;:::o;6145:179::-;6214:10;6235:46;6277:3;6269:6;6235:46;:::i;:::-;6313:4;6308:3;6304:14;6290:28;;6145:179;;;;:::o;6330:113::-;6400:4;6432;6427:3;6423:14;6415:22;;6330:113;;;:::o;6479:732::-;6598:3;6627:54;6675:5;6627:54;:::i;:::-;6697:86;6776:6;6771:3;6697:86;:::i;:::-;6690:93;;6807:56;6857:5;6807:56;:::i;:::-;6886:7;6917:1;6902:284;6927:6;6924:1;6921:13;6902:284;;;7003:6;6997:13;7030:63;7089:3;7074:13;7030:63;:::i;:::-;7023:70;;7116:60;7169:6;7116:60;:::i;:::-;7106:70;;6962:224;6949:1;6946;6942:9;6937:14;;6902:284;;;6906:14;7202:3;7195:10;;6603:608;;;6479:732;;;;:::o;7217:471::-;7382:4;7420:2;7409:9;7405:18;7397:26;;7433:65;7495:1;7484:9;7480:17;7471:6;7433:65;:::i;:::-;7545:9;7539:4;7535:20;7530:2;7519:9;7515:18;7508:48;7573:108;7676:4;7667:6;7573:108;:::i;:::-;7565:116;;7217:471;;;;;:::o;7694:122::-;7767:24;7785:5;7767:24;:::i;:::-;7760:5;7757:35;7747:63;;7806:1;7803;7796:12;7747:63;7694:122;:::o;7822:139::-;7868:5;7906:6;7893:20;7884:29;;7922:33;7949:5;7922:33;:::i;:::-;7822:139;;;;:::o;7967:329::-;8026:6;8075:2;8063:9;8054:7;8050:23;8046:32;8043:119;;;8081:79;;:::i;:::-;8043:119;8201:1;8226:53;8271:7;8262:6;8251:9;8247:22;8226:53;:::i;:::-;8216:63;;8172:117;7967:329;;;;:::o;8302:332::-;8423:4;8461:2;8450:9;8446:18;8438:26;;8474:71;8542:1;8531:9;8527:17;8518:6;8474:71;:::i;:::-;8555:72;8623:2;8612:9;8608:18;8599:6;8555:72;:::i;:::-;8302:332;;;;;:::o;8640:169::-;8724:11;8758:6;8753:3;8746:19;8798:4;8793:3;8789:14;8774:29;;8640:169;;;;:::o;8815:172::-;8955:24;8951:1;8943:6;8939:14;8932:48;8815:172;:::o;8993:366::-;9135:3;9156:67;9220:2;9215:3;9156:67;:::i;:::-;9149:74;;9232:93;9321:3;9232:93;:::i;:::-;9350:2;9345:3;9341:12;9334:19;;8993:366;;;:::o;9365:419::-;9531:4;9569:2;9558:9;9554:18;9546:26;;9618:9;9612:4;9608:20;9604:1;9593:9;9589:17;9582:47;9646:131;9772:4;9646:131;:::i;:::-;9638:139;;9365:419;;;:::o;9790:167::-;9930:19;9926:1;9918:6;9914:14;9907:43;9790:167;:::o;9963:366::-;10105:3;10126:67;10190:2;10185:3;10126:67;:::i;:::-;10119:74;;10202:93;10291:3;10202:93;:::i;:::-;10320:2;10315:3;10311:12;10304:19;;9963:366;;;:::o;10335:419::-;10501:4;10539:2;10528:9;10524:18;10516:26;;10588:9;10582:4;10578:20;10574:1;10563:9;10559:17;10552:47;10616:131;10742:4;10616:131;:::i;:::-;10608:139;;10335:419;;;:::o;10760:77::-;10797:7;10826:5;10815:16;;10760:77;;;:::o;10843:118::-;10930:24;10948:5;10930:24;:::i;:::-;10925:3;10918:37;10843:118;;:::o;10967:101::-;11003:7;11043:18;11036:5;11032:30;11021:41;;10967:101;;;:::o;11074:115::-;11159:23;11176:5;11159:23;:::i;:::-;11154:3;11147:36;11074:115;;:::o;11195:89::-;11231:7;11271:6;11264:5;11260:18;11249:29;;11195:89;;;:::o;11290:115::-;11375:23;11392:5;11375:23;:::i;:::-;11370:3;11363:36;11290:115;;:::o;11411:93::-;11447:7;11487:10;11480:5;11476:22;11465:33;;11411:93;;;:::o;11510:115::-;11595:23;11612:5;11595:23;:::i;:::-;11590:3;11583:36;11510:115;;:::o;11631:648::-;11828:4;11866:3;11855:9;11851:19;11843:27;;11880:71;11948:1;11937:9;11933:17;11924:6;11880:71;:::i;:::-;11961:70;12027:2;12016:9;12012:18;12003:6;11961:70;:::i;:::-;12041;12107:2;12096:9;12092:18;12083:6;12041:70;:::i;:::-;12121;12187:2;12176:9;12172:18;12163:6;12121:70;:::i;:::-;12201:71;12267:3;12256:9;12252:19;12243:6;12201:71;:::i;:::-;11631:648;;;;;;;;:::o;12285:143::-;12342:5;12373:6;12367:13;12358:22;;12389:33;12416:5;12389:33;:::i;:::-;12285:143;;;;:::o;12434:351::-;12504:6;12553:2;12541:9;12532:7;12528:23;12524:32;12521:119;;;12559:79;;:::i;:::-;12521:119;12679:1;12704:64;12760:7;12751:6;12740:9;12736:22;12704:64;:::i;:::-;12694:74;;12650:128;12434:351;;;;:::o;12791:328::-;12910:4;12948:2;12937:9;12933:18;12925:26;;12961:71;13029:1;13018:9;13014:17;13005:6;12961:71;:::i;:::-;13042:70;13108:2;13097:9;13093:18;13084:6;13042:70;:::i;:::-;12791:328;;;;;:::o;13125:483::-;13296:4;13334:2;13323:9;13319:18;13311:26;;13347:71;13415:1;13404:9;13400:17;13391:6;13347:71;:::i;:::-;13465:9;13459:4;13455:20;13450:2;13439:9;13435:18;13428:48;13493:108;13596:4;13587:6;13493:108;:::i;:::-;13485:116;;13125:483;;;;;:::o;13614:172::-;13754:24;13750:1;13742:6;13738:14;13731:48;13614:172;:::o;13792:366::-;13934:3;13955:67;14019:2;14014:3;13955:67;:::i;:::-;13948:74;;14031:93;14120:3;14031:93;:::i;:::-;14149:2;14144:3;14140:12;14133:19;;13792:366;;;:::o;14164:419::-;14330:4;14368:2;14357:9;14353:18;14345:26;;14417:9;14411:4;14407:20;14403:1;14392:9;14388:17;14381:47;14445:131;14571:4;14445:131;:::i;:::-;14437:139;;14164:419;;;:::o;14589:173::-;14729:25;14725:1;14717:6;14713:14;14706:49;14589:173;:::o;14768:366::-;14910:3;14931:67;14995:2;14990:3;14931:67;:::i;:::-;14924:74;;15007:93;15096:3;15007:93;:::i;:::-;15125:2;15120:3;15116:12;15109:19;;14768:366;;;:::o;15140:419::-;15306:4;15344:2;15333:9;15329:18;15321:26;;15393:9;15387:4;15383:20;15379:1;15368:9;15364:17;15357:47;15421:131;15547:4;15421:131;:::i;:::-;15413:139;;15140:419;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "980600", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"acceptOwnership()": "54563", | |
"getRequestStatus(uint256)": "infinite", | |
"lastRequestId()": "2517", | |
"owner()": "2589", | |
"rawFulfillRandomWords(uint256,uint256[])": "infinite", | |
"requestIds(uint256)": "infinite", | |
"requestRandomWords()": "infinite", | |
"s_requests(uint256)": "infinite", | |
"transferOwnership(address)": "30720" | |
}, | |
"internal": { | |
"fulfillRandomWords(uint256,uint256[] memory)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"acceptOwnership()": "79ba5097", | |
"getRequestStatus(uint256)": "d8a4676f", | |
"lastRequestId()": "fc2a88c3", | |
"owner()": "8da5cb5b", | |
"rawFulfillRandomWords(uint256,uint256[])": "1fe543e3", | |
"requestIds(uint256)": "8796ba8c", | |
"requestRandomWords()": "e0c86289", | |
"s_requests(uint256)": "a168fa89", | |
"transferOwnership(address)": "f2fde38b" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint64", | |
"name": "subscriptionId", | |
"type": "uint64" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "have", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "want", | |
"type": "address" | |
} | |
], | |
"name": "OnlyCoordinatorCanFulfill", | |
"type": "error" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferRequested", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"name": "RequestFulfilled", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint32", | |
"name": "numWords", | |
"type": "uint32" | |
} | |
], | |
"name": "RequestSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "acceptOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "_requestId", | |
"type": "uint256" | |
} | |
], | |
"name": "getRequestStatus", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "lastRequestId", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"name": "rawFulfillRandomWords", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "requestIds", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "requestRandomWords", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "s_requests", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "fulfilled", | |
"type": "bool" | |
}, | |
{ | |
"internalType": "bool", | |
"name": "exists", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "transferOwnership", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// An example of a consumer contract that directly pays for each request. | |
pragma solidity ^0.8.7; | |
import "./VRFv2DirectFundingConsumer.sol"; | |
contract HiLo is VRFv2DirectFundingConsumer{ | |
struct BetData { | |
uint256 requestId; | |
uint256 amount; | |
bool isHigh; | |
bool isPaid; | |
} | |
event Bet(address account, bool isHighBet, uint256 betId, uint256 requestId); | |
event Paid(address account, uint256 betId, uint256 requestId, uint256 amount); | |
error AlreadyPaid(); | |
mapping(address => mapping(uint256 => BetData)) public betData; | |
uint256 public nextBetId; | |
constructor() VRFv2DirectFundingConsumer() {} | |
function bet(bool isHigh, uint256 amount) external { | |
uint256 betId = nextBetId++; | |
uint256 requestId = requestRandomWords(); | |
betData[msg.sender][betId] = BetData({requestId: requestId, amount: amount, isHigh: isHigh, isPaid: false }); | |
emit Bet(msg.sender, isHigh, betId, requestId); | |
} | |
function viewPayout(address account, uint256 betId) public view returns(uint256) { | |
BetData storage _betData = betData[account][betId]; | |
if (_betData.isPaid) return 0; | |
(, bool fulfilled, uint256[] memory randomWords) = getRequestStatus(_betData.requestId); | |
// data not ready | |
if (!fulfilled) return 0; | |
// no win no lose -> return stake | |
if (randomWords[0] == randomWords[1]) return _betData.amount; | |
// if win -> reward | |
if ((randomWords[0] > randomWords[1] && _betData.isHigh) || | |
(randomWords[0] < randomWords[1] && !_betData.isHigh) ) | |
return _betData.amount * 2; | |
return 0; | |
} | |
function withdrawPayout(uint256 betId) external { | |
uint256 amount = viewPayout(msg.sender, betId); | |
BetData storage _betData = betData[msg.sender][betId]; | |
if (_betData.isPaid) revert AlreadyPaid(); | |
if (amount > 0) | |
emit Paid(msg.sender, betId, _betData.requestId, amount); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// An example of a consumer contract that relies on a subscription for funding. | |
pragma solidity ^0.8.7; | |
import "@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol"; | |
import "@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol"; | |
import "@chainlink/contracts/src/v0.8/ConfirmedOwner.sol"; | |
/** | |
* Request testnet LINK and ETH here: https://faucets.chain.link/ | |
* Find information on LINK Token Contracts and get the latest ETH and LINK faucets here: https://docs.chain.link/docs/link-token-contracts/ | |
*/ | |
/** | |
* THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED VALUES FOR CLARITY. | |
* THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. | |
* DO NOT USE THIS CODE IN PRODUCTION. | |
*/ | |
contract VRFv2Consumer is VRFConsumerBaseV2, ConfirmedOwner { | |
event RequestSent(uint256 requestId, uint32 numWords); | |
event RequestFulfilled(uint256 requestId, uint256[] randomWords); | |
struct RequestStatus { | |
bool fulfilled; // whether the request has been successfully fulfilled | |
bool exists; // whether a requestId exists | |
uint256[] randomWords; | |
} | |
mapping(uint256 => RequestStatus) | |
public s_requests; /* requestId --> requestStatus */ | |
VRFCoordinatorV2Interface COORDINATOR; | |
// Your subscription ID. | |
uint64 s_subscriptionId; | |
// past requests Id. | |
uint256[] public requestIds; | |
uint256 public lastRequestId; | |
// The gas lane to use, which specifies the maximum gas price to bump to. | |
// For a list of available gas lanes on each network, | |
// see https://docs.chain.link/docs/vrf/v2/subscription/supported-networks/#configurations | |
bytes32 keyHash = | |
//0x474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c; // sepolia | |
0x6e099d640cde6de9d40ac749b4b594126b0169747122711109c9985d47751f93; //200gwei matic | |
// Depends on the number of requested values that you want sent to the | |
// fulfillRandomWords() function. Storing each word costs about 20,000 gas, | |
// so 100,000 is a safe default for this example contract. Test and adjust | |
// this limit based on the network that you select, the size of the request, | |
// and the processing of the callback request in the fulfillRandomWords() | |
// function. | |
uint32 callbackGasLimit = 100000; | |
// The default is 3, but you can set this higher. | |
uint16 requestConfirmations = 3; | |
// For this example, retrieve 2 random values in one request. | |
// Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS. | |
uint32 numWords = 2; | |
/** | |
* HARDCODED FOR SEPOLIA | |
* COORDINATOR: 0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 | |
*/ | |
constructor( | |
uint64 subscriptionId | |
) | |
VRFConsumerBaseV2(0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625) | |
ConfirmedOwner(msg.sender) | |
{ | |
COORDINATOR = VRFCoordinatorV2Interface( | |
//0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 sepolia | |
0xAE975071Be8F8eE67addBC1A82488F1C24858067 // matic | |
); | |
s_subscriptionId = subscriptionId; | |
} | |
// Assumes the subscription is funded sufficiently. | |
function requestRandomWords() | |
external | |
onlyOwner | |
returns (uint256 requestId) | |
{ | |
// Will revert if subscription is not set and funded. | |
requestId = COORDINATOR.requestRandomWords( | |
keyHash, | |
s_subscriptionId, | |
requestConfirmations, | |
callbackGasLimit, | |
numWords | |
); | |
s_requests[requestId] = RequestStatus({ | |
randomWords: new uint256[](0), | |
exists: true, | |
fulfilled: false | |
}); | |
requestIds.push(requestId); | |
lastRequestId = requestId; | |
emit RequestSent(requestId, numWords); | |
return requestId; | |
} | |
function fulfillRandomWords( | |
uint256 _requestId, | |
uint256[] memory _randomWords | |
) internal override { | |
require(s_requests[_requestId].exists, "request not found"); | |
s_requests[_requestId].fulfilled = true; | |
s_requests[_requestId].randomWords = _randomWords; | |
emit RequestFulfilled(_requestId, _randomWords); | |
} | |
function getRequestStatus( | |
uint256 _requestId | |
) external view returns (bool fulfilled, uint256[] memory randomWords) { | |
require(s_requests[_requestId].exists, "request not found"); | |
RequestStatus memory request = s_requests[_requestId]; | |
return (request.fulfilled, request.randomWords); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// An example of a consumer contract that directly pays for each request. | |
pragma solidity ^0.8.7; | |
import "@chainlink/contracts/src/v0.8/ConfirmedOwner.sol"; | |
import "@chainlink/contracts/src/v0.8/VRFV2WrapperConsumerBase.sol"; | |
/** | |
* Request testnet LINK and ETH here: https://faucets.chain.link/ | |
* Find information on LINK Token Contracts and get the latest ETH and LINK faucets here: https://docs.chain.link/docs/link-token-contracts/ | |
*/ | |
/** | |
* THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED VALUES FOR CLARITY. | |
* THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. | |
* DO NOT USE THIS CODE IN PRODUCTION. | |
*/ | |
contract VRFv2DirectFundingConsumer is | |
VRFV2WrapperConsumerBase, | |
ConfirmedOwner | |
{ | |
event RequestSent(uint256 requestId, uint32 numWords); | |
event RequestFulfilled( | |
uint256 requestId, | |
uint256[] randomWords, | |
uint256 payment | |
); | |
struct RequestStatus { | |
uint256 paid; // amount paid in link | |
bool fulfilled; // whether the request has been successfully fulfilled | |
uint256[] randomWords; | |
} | |
mapping(uint256 => RequestStatus) | |
public s_requests; /* requestId --> requestStatus */ | |
// past requests Id. | |
uint256[] public requestIds; | |
uint256 public lastRequestId; | |
// Depends on the number of requested values that you want sent to the | |
// fulfillRandomWords() function. Test and adjust | |
// this limit based on the network that you select, the size of the request, | |
// and the processing of the callback request in the fulfillRandomWords() | |
// function. | |
uint32 callbackGasLimit = 100000; | |
// The default is 3, but you can set this higher. | |
uint16 requestConfirmations = 3; | |
// For this example, retrieve 2 random values in one request. | |
// Cannot exceed VRFV2Wrapper.getConfig().maxNumWords. | |
uint32 numWords = 2; | |
// Address LINK - hardcoded for Sepolia | |
address linkAddress = 0x779877A7B0D9E8603169DdbD7836e478b4624789; | |
// address WRAPPER - hardcoded for Sepolia | |
address wrapperAddress = 0xab18414CD93297B0d12ac29E63Ca20f515b3DB46; | |
constructor() | |
ConfirmedOwner(msg.sender) | |
VRFV2WrapperConsumerBase(linkAddress, wrapperAddress) | |
{} | |
function requestRandomWords() | |
internal | |
returns (uint256 requestId) | |
{ | |
requestId = requestRandomness( | |
callbackGasLimit, | |
requestConfirmations, | |
numWords | |
); | |
s_requests[requestId] = RequestStatus({ | |
paid: VRF_V2_WRAPPER.calculateRequestPrice(callbackGasLimit), | |
randomWords: new uint256[](0), | |
fulfilled: false | |
}); | |
requestIds.push(requestId); | |
lastRequestId = requestId; | |
emit RequestSent(requestId, numWords); | |
return requestId; | |
} | |
function fulfillRandomWords( | |
uint256 _requestId, | |
uint256[] memory _randomWords | |
) internal override { | |
require(s_requests[_requestId].paid > 0, "request not found"); | |
s_requests[_requestId].fulfilled = true; | |
//*************************************************************** | |
// convert randoms to cards | |
uint256 _randomWordsLength = _randomWords.length; | |
uint256[] memory randomCards = new uint256[](_randomWordsLength); | |
for (uint i=0; i<_randomWordsLength; ++i) { | |
randomCards[i] = _randomWords[i] % 54; | |
} | |
s_requests[_requestId].randomWords = randomCards; | |
emit RequestFulfilled( | |
_requestId, | |
randomCards, | |
s_requests[_requestId].paid | |
); | |
} | |
function getRequestStatus( | |
uint256 _requestId | |
) | |
public | |
view | |
returns (uint256 paid, bool fulfilled, uint256[] memory randomWords) | |
{ | |
require(s_requests[_requestId].paid > 0, "request not found"); | |
RequestStatus memory request = s_requests[_requestId]; | |
return (request.paid, request.fulfilled, request.randomWords); | |
} | |
/** | |
* Allow withdraw of Link tokens from the contract | |
*/ | |
function withdrawLink() public onlyOwner { | |
LinkTokenInterface link = LinkTokenInterface(linkAddress); | |
require( | |
link.transfer(msg.sender, link.balanceOf(address(this))), | |
"Unable to transfer" | |
); | |
} | |
} |
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.)
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint64", | |
"name": "subscriptionId", | |
"type": "uint64" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "have", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "want", | |
"type": "address" | |
} | |
], | |
"name": "OnlyCoordinatorCanFulfill", | |
"type": "error" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferRequested", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
} | |
], | |
"name": "OwnershipTransferred", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256[]", | |
"name": "randomWords", | |
"type": "uint256[]" | |
} | |
], | |
"name": "RequestFulfilled", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "requestId", | |
"type": "uint256" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint32", | |
"name": "numWords", | |
"type": "uint32" | |
} | |
], | |
"name": "RequestSent", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "acceptOwnership", | |
"outputs": [], | |
"stateMutabi |
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