Created
February 25, 2022 14:08
-
-
Save ndirpaya/e2a1dba9d5d5d75aec96f3a4cfb68a78 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.11+commit.d7f03943.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; | |
| 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; | |
| import "./interfaces/LinkTokenInterface.sol"; | |
| import "./VRFRequestIDBase.sol"; | |
| /** **************************************************************************** | |
| * @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. | |
| * ***************************************************************************** | |
| * @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, _link) 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), and have told you the minimum LINK | |
| * @dev price for VRF service. Make sure your contract has sufficient LINK, and | |
| * @dev call requestRandomness(keyHash, fee, seed), where seed is the input you | |
| * @dev want to generate randomness from. | |
| * | |
| * @dev Once the VRFCoordinator has received and validated the oracle's response | |
| * @dev to your request, it will call your contract's fulfillRandomness method. | |
| * | |
| * @dev The randomness argument to fulfillRandomness is the actual random value | |
| * @dev generated from your seed. | |
| * | |
| * @dev The requestId argument is generated from the keyHash and the seed by | |
| * @dev makeRequestId(keyHash, seed). If your contract could have concurrent | |
| * @dev requests open, you can use the requestId to track which seed is | |
| * @dev associated with which randomness. See VRFRequestIDBase.sol for more | |
| * @dev details. (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. (Which is critical to making unpredictable randomness! See the | |
| * @dev next section.) | |
| * | |
| * ***************************************************************************** | |
| * @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 ultimate input to the VRF is mixed with the block hash of the | |
| * @dev block in which the request is made, user-provided seeds have no impact | |
| * @dev on its economic security properties. They are only included for API | |
| * @dev compatability with previous versions of this contract. | |
| * | |
| * @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. | |
| */ | |
| abstract contract VRFConsumerBase is VRFRequestIDBase { | |
| /** | |
| * @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 VRFConsumerBase 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 randomness the VRF output | |
| */ | |
| function fulfillRandomness(bytes32 requestId, uint256 randomness) internal virtual; | |
| /** | |
| * @dev In order to keep backwards compatibility we have kept the user | |
| * seed field around. We remove the use of it because given that the blockhash | |
| * enters later, it overrides whatever randomness the used seed provides. | |
| * Given that it adds no security, and can easily lead to misunderstandings, | |
| * we have removed it from usage and can now provide a simpler API. | |
| */ | |
| uint256 private constant USER_SEED_PLACEHOLDER = 0; | |
| /** | |
| * @notice requestRandomness initiates a request for VRF output given _seed | |
| * | |
| * @dev The fulfillRandomness method receives the output, once it's provided | |
| * @dev by the Oracle, and verified by the vrfCoordinator. | |
| * | |
| * @dev The _keyHash must already be registered with the VRFCoordinator, and | |
| * @dev the _fee must exceed the fee specified during registration of the | |
| * @dev _keyHash. | |
| * | |
| * @dev The _seed parameter is vestigial, and is kept only for API | |
| * @dev compatibility with older versions. It can't *hurt* to mix in some of | |
| * @dev your own randomness, here, but it's not necessary because the VRF | |
| * @dev oracle will mix the hash of the block containing your request into the | |
| * @dev VRF seed it ultimately uses. | |
| * | |
| * @param _keyHash ID of public key against which randomness is generated | |
| * @param _fee The amount of LINK to send with the request | |
| * | |
| * @return requestId unique ID for this request | |
| * | |
| * @dev The returned requestId can be used to distinguish responses to | |
| * @dev concurrent requests. It is passed as the first argument to | |
| * @dev fulfillRandomness. | |
| */ | |
| function requestRandomness(bytes32 _keyHash, uint256 _fee) internal returns (bytes32 requestId) { | |
| LINK.transferAndCall(vrfCoordinator, _fee, abi.encode(_keyHash, USER_SEED_PLACEHOLDER)); | |
| // This is the seed passed to VRFCoordinator. The oracle will mix this with | |
| // the hash of the block containing this request to obtain the seed/input | |
| // which is finally passed to the VRF cryptographic machinery. | |
| uint256 vRFSeed = makeVRFInputSeed(_keyHash, USER_SEED_PLACEHOLDER, address(this), nonces[_keyHash]); | |
| // nonces[_keyHash] must stay in sync with | |
| // VRFCoordinator.nonces[_keyHash][this], which was incremented by the above | |
| // successful LINK.transferAndCall (in VRFCoordinator.randomnessRequest). | |
| // This provides protection against the user repeating their input seed, | |
| // which would result in a predictable/duplicate output, if multiple such | |
| // requests appeared in the same block. | |
| nonces[_keyHash] = nonces[_keyHash] + 1; | |
| return makeRequestId(_keyHash, vRFSeed); | |
| } | |
| LinkTokenInterface internal immutable LINK; | |
| address private immutable vrfCoordinator; | |
| // Nonces for each VRF key from which randomness has been requested. | |
| // | |
| // Must stay in sync with VRFCoordinator[_keyHash][this] | |
| mapping(bytes32 => uint256) /* keyHash */ /* nonce */ | |
| private nonces; | |
| /** | |
| * @param _vrfCoordinator address of VRFCoordinator contract | |
| * @param _link address of LINK token contract | |
| * | |
| * @dev https://docs.chain.link/docs/link-token-contracts | |
| */ | |
| constructor(address _vrfCoordinator, address _link) { | |
| vrfCoordinator = _vrfCoordinator; | |
| LINK = LinkTokenInterface(_link); | |
| } | |
| // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF | |
| // proof. rawFulfillRandomness then calls fulfillRandomness, after validating | |
| // the origin of the call | |
| function rawFulfillRandomness(bytes32 requestId, uint256 randomness) external { | |
| require(msg.sender == vrfCoordinator, "Only VRFCoordinator can fulfill"); | |
| fulfillRandomness(requestId, randomness); | |
| } | |
| } |
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; | |
| contract VRFRequestIDBase { | |
| /** | |
| * @notice returns the seed which is actually input to the VRF coordinator | |
| * | |
| * @dev To prevent repetition of VRF output due to repetition of the | |
| * @dev user-supplied seed, that seed is combined in a hash with the | |
| * @dev user-specific nonce, and the address of the consuming contract. The | |
| * @dev risk of repetition is mostly mitigated by inclusion of a blockhash in | |
| * @dev the final seed, but the nonce does protect against repetition in | |
| * @dev requests which are included in a single block. | |
| * | |
| * @param _userSeed VRF seed input provided by user | |
| * @param _requester Address of the requesting contract | |
| * @param _nonce User-specific nonce at the time of the request | |
| */ | |
| function makeVRFInputSeed( | |
| bytes32 _keyHash, | |
| uint256 _userSeed, | |
| address _requester, | |
| uint256 _nonce | |
| ) internal pure returns (uint256) { | |
| return uint256(keccak256(abi.encode(_keyHash, _userSeed, _requester, _nonce))); | |
| } | |
| /** | |
| * @notice Returns the id for this request | |
| * @param _keyHash The serviceAgreement ID to be used for this request | |
| * @param _vRFInputSeed The seed to be passed directly to the VRF | |
| * @return The id for this request | |
| * | |
| * @dev Note that _vRFInputSeed is not the seed passed by the consuming | |
| * @dev contract, but the one generated by makeVRFInputSeed | |
| */ | |
| function makeRequestId(bytes32 _keyHash, uint256 _vRFInputSeed) internal pure returns (bytes32) { | |
| return keccak256(abi.encodePacked(_keyHash, _vRFInputSeed)); | |
| } | |
| } |
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 | |
| // OpenZeppelin Contracts v4.4.1 (utils/Counters.sol) | |
| pragma solidity ^0.8.0; | |
| /** | |
| * @title Counters | |
| * @author Matt Condon (@shrugs) | |
| * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number | |
| * of elements in a mapping, issuing ERC721 ids, or counting request ids. | |
| * | |
| * Include with `using Counters for Counters.Counter;` | |
| */ | |
| library Counters { | |
| struct Counter { | |
| // This variable should never be directly accessed by users of the library: interactions must be restricted to | |
| // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add | |
| // this feature: see https://github.com/ethereum/solidity/issues/4637 | |
| uint256 _value; // default: 0 | |
| } | |
| function current(Counter storage counter) internal view returns (uint256) { | |
| return counter._value; | |
| } | |
| function increment(Counter storage counter) internal { | |
| unchecked { | |
| counter._value += 1; | |
| } | |
| } | |
| function decrement(Counter storage counter) internal { | |
| uint256 value = counter._value; | |
| require(value > 0, "Counter: decrement overflow"); | |
| unchecked { | |
| counter._value = value - 1; | |
| } | |
| } | |
| function reset(Counter storage counter) internal { | |
| counter._value = 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 | |
| // OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol) | |
| pragma solidity ^0.8.0; | |
| // CAUTION | |
| // This version of SafeMath should only be used with Solidity 0.8 or later, | |
| // because it relies on the compiler's built in overflow checks. | |
| /** | |
| * @dev Wrappers over Solidity's arithmetic operations. | |
| * | |
| * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler | |
| * now has built in overflow checking. | |
| */ | |
| library SafeMath { | |
| /** | |
| * @dev Returns the addition of two unsigned integers, with an overflow flag. | |
| * | |
| * _Available since v3.4._ | |
| */ | |
| function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
| unchecked { | |
| uint256 c = a + b; | |
| if (c < a) return (false, 0); | |
| return (true, c); | |
| } | |
| } | |
| /** | |
| * @dev Returns the substraction of two unsigned integers, with an overflow flag. | |
| * | |
| * _Available since v3.4._ | |
| */ | |
| function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
| unchecked { | |
| if (b > a) return (false, 0); | |
| return (true, a - b); | |
| } | |
| } | |
| /** | |
| * @dev Returns the multiplication of two unsigned integers, with an overflow flag. | |
| * | |
| * _Available since v3.4._ | |
| */ | |
| function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
| unchecked { | |
| // Gas optimization: this is cheaper than requiring 'a' not being zero, but the | |
| // benefit is lost if 'b' is also tested. | |
| // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 | |
| if (a == 0) return (true, 0); | |
| uint256 c = a * b; | |
| if (c / a != b) return (false, 0); | |
| return (true, c); | |
| } | |
| } | |
| /** | |
| * @dev Returns the division of two unsigned integers, with a division by zero flag. | |
| * | |
| * _Available since v3.4._ | |
| */ | |
| function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
| unchecked { | |
| if (b == 0) return (false, 0); | |
| return (true, a / b); | |
| } | |
| } | |
| /** | |
| * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. | |
| * | |
| * _Available since v3.4._ | |
| */ | |
| function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { | |
| unchecked { | |
| if (b == 0) return (false, 0); | |
| return (true, a % b); | |
| } | |
| } | |
| /** | |
| * @dev Returns the addition of two unsigned integers, reverting on | |
| * overflow. | |
| * | |
| * Counterpart to Solidity's `+` operator. | |
| * | |
| * Requirements: | |
| * | |
| * - Addition cannot overflow. | |
| */ | |
| function add(uint256 a, uint256 b) internal pure returns (uint256) { | |
| return a + b; | |
| } | |
| /** | |
| * @dev Returns the subtraction of two unsigned integers, reverting on | |
| * overflow (when the result is negative). | |
| * | |
| * Counterpart to Solidity's `-` operator. | |
| * | |
| * Requirements: | |
| * | |
| * - Subtraction cannot overflow. | |
| */ | |
| function sub(uint256 a, uint256 b) internal pure returns (uint256) { | |
| return a - b; | |
| } | |
| /** | |
| * @dev Returns the multiplication of two unsigned integers, reverting on | |
| * overflow. | |
| * | |
| * Counterpart to Solidity's `*` operator. | |
| * | |
| * Requirements: | |
| * | |
| * - Multiplication cannot overflow. | |
| */ | |
| function mul(uint256 a, uint256 b) internal pure returns (uint256) { | |
| return a * b; | |
| } | |
| /** | |
| * @dev Returns the integer division of two unsigned integers, reverting on | |
| * division by zero. The result is rounded towards zero. | |
| * | |
| * Counterpart to Solidity's `/` operator. | |
| * | |
| * Requirements: | |
| * | |
| * - The divisor cannot be zero. | |
| */ | |
| function div(uint256 a, uint256 b) internal pure returns (uint256) { | |
| return a / b; | |
| } | |
| /** | |
| * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
| * reverting when dividing by zero. | |
| * | |
| * Counterpart to Solidity's `%` operator. This function uses a `revert` | |
| * opcode (which leaves remaining gas untouched) while Solidity uses an | |
| * invalid opcode to revert (consuming all remaining gas). | |
| * | |
| * Requirements: | |
| * | |
| * - The divisor cannot be zero. | |
| */ | |
| function mod(uint256 a, uint256 b) internal pure returns (uint256) { | |
| return a % b; | |
| } | |
| /** | |
| * @dev Returns the subtraction of two unsigned integers, reverting with custom message on | |
| * overflow (when the result is negative). | |
| * | |
| * CAUTION: This function is deprecated because it requires allocating memory for the error | |
| * message unnecessarily. For custom revert reasons use {trySub}. | |
| * | |
| * Counterpart to Solidity's `-` operator. | |
| * | |
| * Requirements: | |
| * | |
| * - Subtraction cannot overflow. | |
| */ | |
| function sub( | |
| uint256 a, | |
| uint256 b, | |
| string memory errorMessage | |
| ) internal pure returns (uint256) { | |
| unchecked { | |
| require(b <= a, errorMessage); | |
| return a - b; | |
| } | |
| } | |
| /** | |
| * @dev Returns the integer division of two unsigned integers, reverting with custom message on | |
| * division by zero. The result is rounded towards zero. | |
| * | |
| * Counterpart to Solidity's `/` operator. Note: this function uses a | |
| * `revert` opcode (which leaves remaining gas untouched) while Solidity | |
| * uses an invalid opcode to revert (consuming all remaining gas). | |
| * | |
| * Requirements: | |
| * | |
| * - The divisor cannot be zero. | |
| */ | |
| function div( | |
| uint256 a, | |
| uint256 b, | |
| string memory errorMessage | |
| ) internal pure returns (uint256) { | |
| unchecked { | |
| require(b > 0, errorMessage); | |
| return a / b; | |
| } | |
| } | |
| /** | |
| * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), | |
| * reverting with custom message when dividing by zero. | |
| * | |
| * CAUTION: This function is deprecated because it requires allocating memory for the error | |
| * message unnecessarily. For custom revert reasons use {tryMod}. | |
| * | |
| * Counterpart to Solidity's `%` operator. This function uses a `revert` | |
| * opcode (which leaves remaining gas untouched) while Solidity uses an | |
| * invalid opcode to revert (consuming all remaining gas). | |
| * | |
| * Requirements: | |
| * | |
| * - The divisor cannot be zero. | |
| */ | |
| function mod( | |
| uint256 a, | |
| uint256 b, | |
| string memory errorMessage | |
| ) internal pure returns (uint256) { | |
| unchecked { | |
| require(b > 0, errorMessage); | |
| return 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
| // 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[15] memory accounts; | |
| accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4; | |
| accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2; | |
| accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db; | |
| accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB; | |
| accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2; | |
| accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372; | |
| accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678; | |
| accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7; | |
| accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C; | |
| accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC; | |
| accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c; | |
| accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C; | |
| accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB; | |
| accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225; | |
| accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148; | |
| 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
| REMIX EXAMPLE PROJECT | |
| Remix example project is present when Remix loads for the very first time or there are no files existing in the File Explorer. | |
| It contains 3 directories: | |
| 1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name. | |
| 2. 'scripts': Holds two scripts to deploy a contract. It is explained below. | |
| 3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity. | |
| SCRIPTS | |
| The 'scripts' folder contains example async/await scripts for deploying the 'Storage' contract. | |
| For the deployment of any other contract, 'contractName' and 'constructorArgs' should be updated (along with other code if required). | |
| Scripts have full access to the web3.js and ethers.js libraries. | |
| To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
| Output from script will appear in remix terminal. |
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 | |
| import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol"; | |
| pragma solidity ^0.8.11; | |
| contract StoryRaffle is VRFConsumerBase{ | |
| address public owner; | |
| address payable[] public players; | |
| uint public raffleId; | |
| mapping (uint => address payable) public raffleHistory; // storing winner of each lottery | |
| bytes32 internal keyHash; // identifies which Chainlink oracle to use | |
| uint internal fee; // fee to get random number (LINK) | |
| uint public randomResult; | |
| constructor() | |
| VRFConsumerBase( | |
| 0xb3dCcb4Cf7a26f6cf6B120Cf5A73875B7BBc655B, // VRF Coordinator - Rinkeby | |
| 0x01BE23585060835E02B77ef475b0Cc51aA1e0709 // LINK token address | |
| ) { | |
| keyHash = 0x2ed0feb3e7fd2022120aa84fab1945545a9f2ffc9076fd6156fa96eaff4c1311; | |
| fee = 0.1 * 10 ** 18; // 0.1 LINK | |
| owner = msg.sender; // owner of the deployer of the contract | |
| raffleId = 1; | |
| } | |
| /** | |
| * Requests randomness | |
| */ | |
| function getRandomNumber() public returns (bytes32 requestId) { | |
| require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK in contract"); | |
| return requestRandomness(keyHash, fee); | |
| } | |
| /** | |
| * Callback function used by VRF Coordinator | |
| */ | |
| function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { | |
| randomResult = randomness; | |
| // payWinner(); | |
| } | |
| function getWinnerByRaffle(uint _lotteryId) public view returns (address payable) { | |
| return raffleHistory[_lotteryId]; | |
| } | |
| // get pot balance | |
| function getBalance() public view returns (uint) { | |
| return address(this).balance; | |
| } | |
| // get list of players | |
| function getPlayers() public view returns (address payable[] memory) { | |
| return players; | |
| } | |
| // enter Raffle | |
| function enterRaffle() public payable { | |
| require(msg.value >= .01 ether); | |
| // address of player entering the raffle | |
| players.push(payable(msg.sender)); | |
| } | |
| // generate a Pseudo random number | |
| function getPseudoRandomNumber() public returns (uint) { | |
| randomResult = uint(keccak256(abi.encodePacked(owner, block.timestamp))); | |
| return randomResult; | |
| } | |
| // select winner based on generated random number and transfer balance to their account | |
| function pickWinner() public onlyOwner { | |
| // getRandomNumber(); | |
| getPseudoRandomNumber(); | |
| } | |
| function getWinner() public view returns (address payable) { | |
| uint index = randomResult % players.length; | |
| return players[index]; | |
| } | |
| function payWinner(uint _amount) public { | |
| uint index = randomResult % players.length; | |
| // transfer balance of the current smart contract to address of winner | |
| players[index].transfer(_amount); | |
| raffleHistory[raffleId] = players[index]; | |
| raffleId++; | |
| // reset the state of the contract | |
| players = new address payable[](0); | |
| } | |
| // modifier to ensure only the owner can run a function | |
| modifier onlyOwner() { | |
| require(msg.sender == owner, "only owner can run this 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: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Owner | |
| * @dev Set & change owner | |
| */ | |
| contract Owner { | |
| address private owner; | |
| // event for EVM logging | |
| event OwnerSet(address indexed oldOwner, address indexed newOwner); | |
| // modifier to check if caller is owner | |
| modifier isOwner() { | |
| // If the first argument of 'require' evaluates to 'false', execution terminates and all | |
| // changes to the state and to Ether balances are reverted. | |
| // This used to consume all gas in old EVM versions, but not anymore. | |
| // It is often a good idea to use 'require' to check if functions are called correctly. | |
| // As a second argument, you can also provide an explanation about what went wrong. | |
| require(msg.sender == owner, "Caller is not owner"); | |
| _; | |
| } | |
| /** | |
| * @dev Set contract deployer as owner | |
| */ | |
| constructor() { | |
| owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor | |
| emit OwnerSet(address(0), owner); | |
| } | |
| /** | |
| * @dev Change owner | |
| * @param newOwner address of new owner | |
| */ | |
| function changeOwner(address newOwner) public isOwner { | |
| emit OwnerSet(owner, newOwner); | |
| owner = newOwner; | |
| } | |
| /** | |
| * @dev Return owner address | |
| * @return address of owner | |
| */ | |
| function getOwner() external view returns (address) { | |
| return owner; | |
| } | |
| } |
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 | |
| import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol"; | |
| import "@openzeppelin/contracts/utils/Counters.sol"; | |
| import "@openzeppelin/contracts/utils/math/SafeMath.sol"; | |
| pragma solidity ^0.8.11; | |
| contract StoryRaffle is VRFConsumerBase{ | |
| using SafeMath for uint; | |
| address public owner; | |
| address payable[] public players; | |
| uint public raffleId; | |
| mapping (uint => address payable) public raffleHistory; // storing winner of each lottery | |
| bytes32 internal keyHash; // identifies which Chainlink oracle to use | |
| uint internal fee; // fee to get random number (LINK) | |
| enum RaffleState { Open, Closed, Completed } | |
| RaffleState public state; | |
| uint public randomResult; | |
| using Counters for Counters.Counter; | |
| Counters.Counter private _ticketIds; | |
| // uint[] public numbers; | |
| uint public maxEntries; | |
| // struct Ticket { | |
| // // address payable player; | |
| // uint ticketId; | |
| // string answer; | |
| // uint timestamp; | |
| // } | |
| uint[] public tickets; | |
| mapping (uint => address) public ticketToPlayer; | |
| mapping (address => uint) playerTicketCount; | |
| /* | |
| * map address to last time they entered the lottery | |
| */ | |
| mapping(address => uint) public lastEntryTime; | |
| constructor() | |
| VRFConsumerBase( | |
| 0xb3dCcb4Cf7a26f6cf6B120Cf5A73875B7BBc655B, // VRF Coordinator - Rinkeby | |
| 0x01BE23585060835E02B77ef475b0Cc51aA1e0709 // LINK token address | |
| ) { | |
| keyHash = 0x2ed0feb3e7fd2022120aa84fab1945545a9f2ffc9076fd6156fa96eaff4c1311; | |
| fee = 0.1 * 10 ** 18; // 0.1 LINK | |
| owner = msg.sender; // owner of the deployer of the contract | |
| raffleId = 1; | |
| maxEntries = 50000; | |
| _ticketIds.increment(); | |
| } | |
| /** | |
| * Requests randomness | |
| */ | |
| function getRandomNumber() public returns (bytes32 requestId) { | |
| require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK in contract"); | |
| return requestRandomness(keyHash, fee); | |
| } | |
| /** | |
| * Callback function used by VRF Coordinator | |
| */ | |
| function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { | |
| randomResult = randomness; | |
| // payWinner(); | |
| } | |
| function getWinnerByRaffle(uint _lotteryId) public view returns (address payable) { | |
| return raffleHistory[_lotteryId]; | |
| } | |
| // get pot balance | |
| function getBalance() public view returns (uint) { | |
| return address(this).balance; | |
| } | |
| // get list of players | |
| function getPlayers() public view returns (address payable[] memory) { | |
| return players; | |
| } | |
| function getTickets() public view returns (uint[] memory) { | |
| return tickets; | |
| } | |
| // function getTicketIds() public view returns (uint[] memory) { | |
| // return _ticketIds; | |
| // } | |
| // enter Raffle | |
| function enterRaffle() public payable isState(RaffleState.Open) { | |
| // cooldown period | |
| require( | |
| lastEntryTime[msg.sender] + 5 minutes < block.timestamp, | |
| "You must wait 5 minutes before entering the raffle again" | |
| ); | |
| require(tickets.length < maxEntries, "Raffle is full"); | |
| // check if player has already entered | |
| require(playerTicketCount[msg.sender] < 3 , "You have reached your maximum entries"); | |
| require(msg.value >= .01 ether, "Minimum entry fee not met"); | |
| uint id = _ticketIds.current(); | |
| tickets.push(id); | |
| ticketToPlayer[id] = msg.sender; | |
| players.push(payable(msg.sender)); | |
| lastEntryTime[msg.sender] = block.timestamp; | |
| playerTicketCount[msg.sender]++; | |
| _ticketIds.increment(); | |
| } | |
| // generate a Pseudo random number | |
| function getPseudoRandomNumber() public returns (uint) { | |
| randomResult = uint(keccak256(abi.encodePacked(owner, block.timestamp))); | |
| return randomResult; | |
| } | |
| function pickWinnerTest() public onlyOwner { | |
| getPseudoRandomNumber(); | |
| } | |
| // select winner based on generated random number and transfer balance to their account | |
| function pickWinner() public onlyOwner { | |
| getRandomNumber(); | |
| } | |
| // number of tickets a player has?? | |
| function getPlayerTickets(address _player) public view returns (uint) { | |
| return playerTicketCount[_player]; | |
| } | |
| function getWinner() public view returns (address) { | |
| if (randomResult > 0) { | |
| uint index = (randomResult % tickets.length)+1; | |
| // return players[index]; | |
| return ticketToPlayer[index]; // index-1 ???? | |
| } | |
| } | |
| function getWinningTicketId() public view returns (uint) { | |
| if (randomResult > 0) { | |
| uint index = (randomResult % tickets.length)+1; | |
| return index; | |
| } | |
| } | |
| function payWinner(uint _amount) public onlyOwner { | |
| uint index = (randomResult % players.length)+1; | |
| // transfer balance of the current smart contract to address of winner | |
| players[index-1].transfer(_amount); | |
| // getWinner().transfer(_amount); | |
| raffleHistory[raffleId] = players[index-1]; | |
| raffleId++; | |
| // reset the state of the contract | |
| players = new address payable[](0); | |
| } | |
| // modifier to ensure only the owner can run a function | |
| modifier onlyOwner() { | |
| require(msg.sender == owner, "Only owner can run this function"); | |
| _; | |
| } | |
| modifier isState(RaffleState _state) { | |
| require(state == _state, "Raffle is not in the correct state"); | |
| _; | |
| } | |
| function _changeState(RaffleState _state) internal onlyOwner { | |
| state = _state; | |
| } | |
| } |
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 | |
| }, | |
| "görli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_747": { | |
| "entryPoint": null, | |
| "id": 747, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@_98": { | |
| "entryPoint": null, | |
| "id": 98, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@increment_297": { | |
| "entryPoint": 329, | |
| "id": 297, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "60c060405234801561001057600080fd5b5073b3dccb4cf7a26f6cf6b120cf5a73875b7bbc655b7301be23585060835e02b77ef475b0cc51aa1e07098173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050507f2ed0feb3e7fd2022120aa84fab1945545a9f2ffc9076fd6156fa96eaff4c131160001b60058190555067016345785d8a000060068190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160038190555061c350600a81905550610144600961014960201b6112021760201c565b61015f565b6001816000016000828254019250508190555050565b60805160a0516121b361019260003960008181610c420152611271015260008181611086015261123501526121b36000f3fe60806040526004361061014b5760003560e01c806394985ddd116100b6578063cd7688c61161006f578063cd7688c614610465578063dbdff2c11461047c578063f23f3ba5146104a7578063f5e365d2146104d2578063f71d96cb1461050f578063f98e6b911461054c5761014b565b806394985ddd146103555780639c6f87e91461037e578063a5c0449f146103a9578063b375603c146103d2578063b5c255d5146103fd578063c19d93fb1461043a5761014b565b80634ed02622116101085780634ed026221461025557806350b44712146102805780635d495aea146102bd5780638b5b9ccc146102d45780638da5cb5b146102ff5780638e7ea5b21461032a5761014b565b806312065fe0146101505780631d84720a1461017b57806323413198146101a65780632cfcc539146101e35780633aae0e07146101ed57806342619f661461022a575b600080fd5b34801561015c57600080fd5b50610165610589565b60405161017291906114b0565b60405180910390f35b34801561018757600080fd5b50610190610591565b60405161019d91906114b0565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c8919061152e565b6105cd565b6040516101da91906114b0565b60405180910390f35b6101eb610616565b005b3480156101f957600080fd5b50610214600480360381019061020f9190611587565b6109c3565b60405161022191906115d5565b60405180910390f35b34801561023657600080fd5b5061023f610a00565b60405161024c91906114b0565b60405180910390f35b34801561026157600080fd5b5061026a610a06565b60405161027791906116ae565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a29190611587565b610a5e565b6040516102b491906114b0565b60405180910390f35b3480156102c957600080fd5b506102d2610a82565b005b3480156102e057600080fd5b506102e9610b1d565b6040516102f6919061178e565b60405180910390f35b34801561030b57600080fd5b50610314610bab565b60405161032191906117bf565b60405180910390f35b34801561033657600080fd5b5061033f610bd1565b60405161034c91906117bf565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190611810565b610c40565b005b34801561038a57600080fd5b50610393610cdc565b6040516103a091906114b0565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190611587565b610d3a565b005b3480156103de57600080fd5b506103e7610f98565b6040516103f491906114b0565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190611587565b610f9e565b60405161043191906115d5565b60405180910390f35b34801561044657600080fd5b5061044f610fd1565b60405161045c91906118c7565b60405180910390f35b34801561047157600080fd5b5061047a610fe4565b005b34801561048857600080fd5b5061049161107f565b60405161049e91906118f1565b60405180910390f35b3480156104b357600080fd5b506104bc611172565b6040516104c991906114b0565b60405180910390f35b3480156104de57600080fd5b506104f960048036038101906104f4919061152e565b611178565b60405161050691906114b0565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190611587565b611190565b60405161054391906115d5565b60405180910390f35b34801561055857600080fd5b50610573600480360381019061056e9190611587565b6111cf565b60405161058091906117bf565b60405180910390f35b600047905090565b60008060085411156105c95760006001600b805490506008546105b4919061193b565b6105be919061199b565b9050809150506105ca565b5b90565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600281111561062b5761062a611850565b5b600760009054906101000a900460ff16600281111561064d5761064c611850565b5b1461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490611a74565b60405180910390fd5b4261012c600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106db919061199b565b1061071b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071290611b06565b60405180910390fd5b600a54600b8054905010610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b90611b72565b60405180910390fd5b6003600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106107e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dd90611c04565b60405180910390fd5b662386f26fc10000341015610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082790611c70565b60405180910390fd5b600061083c6009611218565b9050600b81908060018154018082558091505060019003906000526020600020016000909190919091505533600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906109b090611c90565b91905055506109bf6009611202565b5050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6060600b805480602002602001604051908101604052809291908181526020018280548015610a5457602002820191906000526020600020905b815481526020019060010190808311610a40575b5050505050905090565b600b8181548110610a6e57600080fd5b906000526020600020016000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990611d25565b60405180910390fd5b610b1a61107f565b50565b60606002805480602002602001604051908101604052809291908181526020018280548015610ba157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610b57575b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806008541115610c3c5760006001600b80549050600854610bf4919061193b565b610bfe919061199b565b9050600c600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050610c3d565b5b90565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc590611d91565b60405180910390fd5b610cd88282611226565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602001610d13929190611e1a565b6040516020818303038152906040528051906020012060001c600881905550600854905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611d25565b60405180910390fd5b60006001600280549050600854610de1919061193b565b610deb919061199b565b90506002600182610dfc9190611e46565b81548110610e0d57610e0c611e7a565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610e7d573d6000803e3d6000fd5b506002600182610e8d9190611e46565b81548110610e9e57610e9d611e7a565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060036000815480929190610f2f90611c90565b9190505550600067ffffffffffffffff811115610f4f57610f4e611ea9565b5b604051908082528060200260200182016040528015610f7d5781602001602082028036833780820191505090505b5060029080519060200190610f939291906113f0565b505050565b60035481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90611d25565b60405180910390fd5b61107c610cdc565b50565b60006006547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110dd91906117bf565b602060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111e9190611eed565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115690611f66565b60405180910390fd5b61116d600554600654611231565b905090565b600a5481565b600e6020528060005260406000206000915090505481565b600281815481106111a057600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001816000016000828254019250508190555050565b600081600001549050919050565b806008819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016112a5929190611f86565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016112d293929190612048565b6020604051808303816000875af11580156112f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131591906120be565b5060006113378460003060008089815260200190815260200160002054611381565b9050600160008086815260200190815260200160002054611358919061199b565b6000808681526020019081526020016000208190555061137884826113bd565b91505092915050565b60008484848460405160200161139a94939291906120eb565b6040516020818303038152906040528051906020012060001c9050949350505050565b600082826040516020016113d2929190612151565b60405160208183030381529060405280519060200120905092915050565b828054828255906000526020600020908101928215611469579160200282015b828111156114685782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611410565b5b509050611476919061147a565b5090565b5b8082111561149357600081600090555060010161147b565b5090565b6000819050919050565b6114aa81611497565b82525050565b60006020820190506114c560008301846114a1565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114fb826114d0565b9050919050565b61150b816114f0565b811461151657600080fd5b50565b60008135905061152881611502565b92915050565b600060208284031215611544576115436114cb565b5b600061155284828501611519565b91505092915050565b61156481611497565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b60006020828403121561159d5761159c6114cb565b5b60006115ab84828501611572565b91505092915050565b60006115bf826114d0565b9050919050565b6115cf816115b4565b82525050565b60006020820190506115ea60008301846115c6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61162581611497565b82525050565b6000611637838361161c565b60208301905092915050565b6000602082019050919050565b600061165b826115f0565b61166581856115fb565b93506116708361160c565b8060005b838110156116a1578151611688888261162b565b975061169383611643565b925050600181019050611674565b5085935050505092915050565b600060208201905081810360008301526116c88184611650565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611705816115b4565b82525050565b600061171783836116fc565b60208301905092915050565b6000602082019050919050565b600061173b826116d0565b61174581856116db565b9350611750836116ec565b8060005b83811015611781578151611768888261170b565b975061177383611723565b925050600181019050611754565b5085935050505092915050565b600060208201905081810360008301526117a88184611730565b905092915050565b6117b9816114f0565b82525050565b60006020820190506117d460008301846117b0565b92915050565b6000819050919050565b6117ed816117da565b81146117f857600080fd5b50565b60008135905061180a816117e4565b92915050565b60008060408385031215611827576118266114cb565b5b6000611835858286016117fb565b925050602061184685828601611572565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118905761188f611850565b5b50565b60008190506118a18261187f565b919050565b60006118b182611893565b9050919050565b6118c1816118a6565b82525050565b60006020820190506118dc60008301846118b8565b92915050565b6118eb816117da565b82525050565b600060208201905061190660008301846118e2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061194682611497565b915061195183611497565b9250826119615761196061190c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119a682611497565b91506119b183611497565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119e6576119e561196c565b5b828201905092915050565b600082825260208201905092915050565b7f526166666c65206973206e6f7420696e2074686520636f72726563742073746160008201527f7465000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a5e6022836119f1565b9150611a6982611a02565b604082019050919050565b60006020820190508181036000830152611a8d81611a51565b9050919050565b7f596f75206d75737420776169742035206d696e75746573206265666f7265206560008201527f6e746572696e672074686520726166666c6520616761696e0000000000000000602082015250565b6000611af06038836119f1565b9150611afb82611a94565b604082019050919050565b60006020820190508181036000830152611b1f81611ae3565b9050919050565b7f526166666c652069732066756c6c000000000000000000000000000000000000600082015250565b6000611b5c600e836119f1565b9150611b6782611b26565b602082019050919050565b60006020820190508181036000830152611b8b81611b4f565b9050919050565b7f596f752068617665207265616368656420796f7572206d6178696d756d20656e60008201527f7472696573000000000000000000000000000000000000000000000000000000602082015250565b6000611bee6025836119f1565b9150611bf982611b92565b604082019050919050565b60006020820190508181036000830152611c1d81611be1565b9050919050565b7f4d696e696d756d20656e74727920666565206e6f74206d657400000000000000600082015250565b6000611c5a6019836119f1565b9150611c6582611c24565b602082019050919050565b60006020820190508181036000830152611c8981611c4d565b9050919050565b6000611c9b82611497565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611cce57611ccd61196c565b5b600182019050919050565b7f4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e600082015250565b6000611d0f6020836119f1565b9150611d1a82611cd9565b602082019050919050565b60006020820190508181036000830152611d3e81611d02565b9050919050565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b6000611d7b601f836119f1565b9150611d8682611d45565b602082019050919050565b60006020820190508181036000830152611daa81611d6e565b9050919050565b60008160601b9050919050565b6000611dc982611db1565b9050919050565b6000611ddb82611dbe565b9050919050565b611df3611dee826114f0565b611dd0565b82525050565b6000819050919050565b611e14611e0f82611497565b611df9565b82525050565b6000611e268285611de2565b601482019150611e368284611e03565b6020820191508190509392505050565b6000611e5182611497565b9150611e5c83611497565b925082821015611e6f57611e6e61196c565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611ee78161155b565b92915050565b600060208284031215611f0357611f026114cb565b5b6000611f1184828501611ed8565b91505092915050565b7f4e6f7420656e6f756768204c494e4b20696e20636f6e74726163740000000000600082015250565b6000611f50601b836119f1565b9150611f5b82611f1a565b602082019050919050565b60006020820190508181036000830152611f7f81611f43565b9050919050565b6000604082019050611f9b60008301856118e2565b611fa860208301846114a1565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fe9578082015181840152602081019050611fce565b83811115611ff8576000848401525b50505050565b6000601f19601f8301169050919050565b600061201a82611faf565b6120248185611fba565b9350612034818560208601611fcb565b61203d81611ffe565b840191505092915050565b600060608201905061205d60008301866117b0565b61206a60208301856114a1565b818103604083015261207c818461200f565b9050949350505050565b60008115159050919050565b61209b81612086565b81146120a657600080fd5b50565b6000815190506120b881612092565b92915050565b6000602082840312156120d4576120d36114cb565b5b60006120e2848285016120a9565b91505092915050565b600060808201905061210060008301876118e2565b61210d60208301866114a1565b61211a60408301856117b0565b61212760608301846114a1565b95945050505050565b6000819050919050565b61214b612146826117da565b612130565b82525050565b600061215d828561213a565b60208201915061216d8284611e03565b602082019150819050939250505056fea264697066735822122076a268bc123112a333e7db9f0a6b9dc9278f621d98ce1e1ae3bbed4711b87dec64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xB3DCCB4CF7A26F6CF6B120CF5A73875B7BBC655B PUSH20 0x1BE23585060835E02B77EF475B0CC51AA1E0709 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP POP POP PUSH32 0x2ED0FEB3E7FD2022120AA84FAB1945545A9F2FFC9076FD6156FA96EAFF4C1311 PUSH1 0x0 SHL PUSH1 0x5 DUP2 SWAP1 SSTORE POP PUSH8 0x16345785D8A0000 PUSH1 0x6 DUP2 SWAP1 SSTORE POP CALLER 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 PUSH1 0x1 PUSH1 0x3 DUP2 SWAP1 SSTORE POP PUSH2 0xC350 PUSH1 0xA DUP2 SWAP1 SSTORE POP PUSH2 0x144 PUSH1 0x9 PUSH2 0x149 PUSH1 0x20 SHL PUSH2 0x1202 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x15F JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x21B3 PUSH2 0x192 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xC42 ADD MSTORE PUSH2 0x1271 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x1086 ADD MSTORE PUSH2 0x1235 ADD MSTORE PUSH2 0x21B3 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xCD7688C6 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCD7688C6 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xF23F3BA5 EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xF5E365D2 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF71D96CB EQ PUSH2 0x50F JUMPI DUP1 PUSH4 0xF98E6B91 EQ PUSH2 0x54C JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x94985DDD EQ PUSH2 0x355 JUMPI DUP1 PUSH4 0x9C6F87E9 EQ PUSH2 0x37E JUMPI DUP1 PUSH4 0xA5C0449F EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xB375603C EQ PUSH2 0x3D2 JUMPI DUP1 PUSH4 0xB5C255D5 EQ PUSH2 0x3FD JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x43A JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x4ED02622 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x5D495AEA EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0x8B5B9CCC EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2FF JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x32A JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0x1D84720A EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x23413198 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x2CFCC539 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x3AAE0E07 EQ PUSH2 0x1ED JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0x22A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x589 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x190 PUSH2 0x591 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C8 SWAP2 SWAP1 PUSH2 0x152E JUMP JUMPDEST PUSH2 0x5CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EB PUSH2 0x616 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x214 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x9C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH2 0xA00 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24C SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26A PUSH2 0xA06 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x16AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A2 SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xA5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D2 PUSH2 0xA82 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E9 PUSH2 0xB1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x178E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x314 PUSH2 0xBAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x321 SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33F PUSH2 0xBD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34C SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x361 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x377 SWAP2 SWAP1 PUSH2 0x1810 JUMP JUMPDEST PUSH2 0xC40 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x393 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A0 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xD3A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E7 PUSH2 0xF98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F4 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x424 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41F SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xF9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44F PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45C SWAP2 SWAP1 PUSH2 0x18C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xFE4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x491 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x49E SWAP2 SWAP1 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BC PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4C9 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0x152E JUMP JUMPDEST PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x506 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x536 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x531 SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x1190 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x543 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x573 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x56E SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x11CF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x580 SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD GT ISZERO PUSH2 0x5C9 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0xB DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0x5B4 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0x5BE SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP PUSH2 0x5CA JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x62B JUMPI PUSH2 0x62A PUSH2 0x1850 JUMP JUMPDEST JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x64D JUMPI PUSH2 0x64C PUSH2 0x1850 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x68D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x684 SWAP1 PUSH2 0x1A74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH2 0x12C PUSH1 0xE PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x6DB SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST LT PUSH2 0x71B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x712 SWAP1 PUSH2 0x1B06 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB DUP1 SLOAD SWAP1 POP LT PUSH2 0x764 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x75B SWAP1 PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0xD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x7E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7DD SWAP1 PUSH2 0x1C04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH7 0x2386F26FC10000 CALLVALUE LT ISZERO PUSH2 0x830 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x827 SWAP1 PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x83C PUSH1 0x9 PUSH2 0x1218 JUMP JUMPDEST SWAP1 POP PUSH1 0xB 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 CALLER PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x2 CALLER 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP TIMESTAMP PUSH1 0xE PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0xD 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 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x9B0 SWAP1 PUSH2 0x1C90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x9BF PUSH1 0x9 PUSH2 0x1202 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB 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 0xA54 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 0xA40 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xB DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA6E 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 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xB12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB09 SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB1A PUSH2 0x107F JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 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 0xBA1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xB57 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD GT ISZERO PUSH2 0xC3C JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0xB DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xBF4 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP POP PUSH2 0xC3D JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCCE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCC5 SWAP1 PUSH2 0x1D91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCD8 DUP3 DUP3 PUSH2 0x1226 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND TIMESTAMP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD13 SWAP3 SWAP2 SWAP1 PUSH2 0x1E1A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH1 0x8 DUP2 SWAP1 SSTORE POP PUSH1 0x8 SLOAD SWAP1 POP SWAP1 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 0xDCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC1 SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xDE1 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0xDEB SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xDFC SWAP2 SWAP1 PUSH2 0x1E46 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xE0D JUMPI PUSH2 0xE0C PUSH2 0x1E7A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xE7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xE8D SWAP2 SWAP1 PUSH2 0x1E46 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xE9E JUMPI PUSH2 0xE9D PUSH2 0x1E7A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xF2F SWAP1 PUSH2 0x1C90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF4F JUMPI PUSH2 0xF4E PUSH2 0x1EA9 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 0xF7D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF93 SWAP3 SWAP2 SWAP1 PUSH2 0x13F0 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 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 0x1074 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x106B SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x107C PUSH2 0xCDC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10DD SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10FA 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 0x111E SWAP2 SWAP1 PUSH2 0x1EED JUMP JUMPDEST LT ISZERO PUSH2 0x115F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1156 SWAP1 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x116D PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD PUSH2 0x1231 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x11A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x8 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 PUSH32 0x0 DUP5 DUP7 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x12A5 SWAP3 SWAP2 SWAP1 PUSH2 0x1F86 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 0x12D2 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12F1 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 0x1315 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1337 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1381 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1358 SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1378 DUP5 DUP3 PUSH2 0x13BD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x139A SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x20EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13D2 SWAP3 SWAP2 SWAP1 PUSH2 0x2151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 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 0x1469 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1468 JUMPI DUP3 MLOAD DUP3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1410 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1476 SWAP2 SWAP1 PUSH2 0x147A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1493 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x147B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14AA DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14FB DUP3 PUSH2 0x14D0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x150B DUP2 PUSH2 0x14F0 JUMP JUMPDEST DUP2 EQ PUSH2 0x1516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1528 DUP2 PUSH2 0x1502 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1544 JUMPI PUSH2 0x1543 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1552 DUP5 DUP3 DUP6 ADD PUSH2 0x1519 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1564 DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP2 EQ PUSH2 0x156F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1581 DUP2 PUSH2 0x155B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x159D JUMPI PUSH2 0x159C PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x15AB DUP5 DUP3 DUP6 ADD PUSH2 0x1572 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15BF DUP3 PUSH2 0x14D0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15CF DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15EA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1625 DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1637 DUP4 DUP4 PUSH2 0x161C 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 0x165B DUP3 PUSH2 0x15F0 JUMP JUMPDEST PUSH2 0x1665 DUP2 DUP6 PUSH2 0x15FB JUMP JUMPDEST SWAP4 POP PUSH2 0x1670 DUP4 PUSH2 0x160C JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x16A1 JUMPI DUP2 MLOAD PUSH2 0x1688 DUP9 DUP3 PUSH2 0x162B JUMP JUMPDEST SWAP8 POP PUSH2 0x1693 DUP4 PUSH2 0x1643 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1674 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x16C8 DUP2 DUP5 PUSH2 0x1650 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1705 DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1717 DUP4 DUP4 PUSH2 0x16FC 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 0x173B DUP3 PUSH2 0x16D0 JUMP JUMPDEST PUSH2 0x1745 DUP2 DUP6 PUSH2 0x16DB JUMP JUMPDEST SWAP4 POP PUSH2 0x1750 DUP4 PUSH2 0x16EC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1781 JUMPI DUP2 MLOAD PUSH2 0x1768 DUP9 DUP3 PUSH2 0x170B JUMP JUMPDEST SWAP8 POP PUSH2 0x1773 DUP4 PUSH2 0x1723 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1754 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17A8 DUP2 DUP5 PUSH2 0x1730 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17B9 DUP2 PUSH2 0x14F0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17D4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17ED DUP2 PUSH2 0x17DA JUMP JUMPDEST DUP2 EQ PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x180A DUP2 PUSH2 0x17E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1827 JUMPI PUSH2 0x1826 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1835 DUP6 DUP3 DUP7 ADD PUSH2 0x17FB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1846 DUP6 DUP3 DUP7 ADD PUSH2 0x1572 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1890 JUMPI PUSH2 0x188F PUSH2 0x1850 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x18A1 DUP3 PUSH2 0x187F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B1 DUP3 PUSH2 0x1893 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18C1 DUP2 PUSH2 0x18A6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18DC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18B8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x18EB DUP2 PUSH2 0x17DA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1906 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1946 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x1951 DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1961 JUMPI PUSH2 0x1960 PUSH2 0x190C 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 0x19A6 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x19B1 DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x19E6 JUMPI PUSH2 0x19E5 PUSH2 0x196C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x526166666C65206973206E6F7420696E2074686520636F727265637420737461 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7465000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A5E PUSH1 0x22 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A69 DUP3 PUSH2 0x1A02 JUMP JUMPDEST PUSH1 0x40 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 0x1A8D DUP2 PUSH2 0x1A51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F75206D75737420776169742035206D696E75746573206265666F72652065 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E746572696E672074686520726166666C6520616761696E0000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AF0 PUSH1 0x38 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1AFB DUP3 PUSH2 0x1A94 JUMP JUMPDEST PUSH1 0x40 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 0x1B1F DUP2 PUSH2 0x1AE3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x526166666C652069732066756C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B5C PUSH1 0xE DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B67 DUP3 PUSH2 0x1B26 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 0x1B8B DUP2 PUSH2 0x1B4F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F752068617665207265616368656420796F7572206D6178696D756D20656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7472696573000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BEE PUSH1 0x25 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1BF9 DUP3 PUSH2 0x1B92 JUMP JUMPDEST PUSH1 0x40 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 0x1C1D DUP2 PUSH2 0x1BE1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4D696E696D756D20656E74727920666565206E6F74206D657400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH1 0x19 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C65 DUP3 PUSH2 0x1C24 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 0x1C89 DUP2 PUSH2 0x1C4D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C9B DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1CCE JUMPI PUSH2 0x1CCD PUSH2 0x196C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2072756E20746869732066756E6374696F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D0F PUSH1 0x20 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D1A DUP3 PUSH2 0x1CD9 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 0x1D3E DUP2 PUSH2 0x1D02 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D7B PUSH1 0x1F DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D86 DUP3 PUSH2 0x1D45 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 0x1DAA DUP2 PUSH2 0x1D6E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DC9 DUP3 PUSH2 0x1DB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DDB DUP3 PUSH2 0x1DBE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DF3 PUSH2 0x1DEE DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH2 0x1DD0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E14 PUSH2 0x1E0F DUP3 PUSH2 0x1497 JUMP JUMPDEST PUSH2 0x1DF9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E26 DUP3 DUP6 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x1E36 DUP3 DUP5 PUSH2 0x1E03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E51 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E5C DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1E6F JUMPI PUSH2 0x1E6E PUSH2 0x196C JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EE7 DUP2 PUSH2 0x155B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F03 JUMPI PUSH2 0x1F02 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F11 DUP5 DUP3 DUP6 ADD PUSH2 0x1ED8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B20696E20636F6E74726163740000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F50 PUSH1 0x1B DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F5B DUP3 PUSH2 0x1F1A 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 0x1F7F DUP2 PUSH2 0x1F43 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1F9B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x18E2 JUMP JUMPDEST PUSH2 0x1FA8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x14A1 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1FE9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FCE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1FF8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201A DUP3 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x2024 DUP2 DUP6 PUSH2 0x1FBA JUMP JUMPDEST SWAP4 POP PUSH2 0x2034 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1FCB JUMP JUMPDEST PUSH2 0x203D DUP2 PUSH2 0x1FFE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x205D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x17B0 JUMP JUMPDEST PUSH2 0x206A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x14A1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x207C DUP2 DUP5 PUSH2 0x200F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x209B DUP2 PUSH2 0x2086 JUMP JUMPDEST DUP2 EQ PUSH2 0x20A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x20B8 DUP2 PUSH2 0x2092 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D4 JUMPI PUSH2 0x20D3 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E2 DUP5 DUP3 DUP6 ADD PUSH2 0x20A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2100 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x18E2 JUMP JUMPDEST PUSH2 0x210D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x14A1 JUMP JUMPDEST PUSH2 0x211A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17B0 JUMP JUMPDEST PUSH2 0x2127 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x214B PUSH2 0x2146 DUP3 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x2130 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x215D DUP3 DUP6 PUSH2 0x213A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x216D DUP3 DUP5 PUSH2 0x1E03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0xA268BC123112A333E7DB9F0A6B9DC9278F621D98CE1E1A 0xE3 0xBB 0xED SELFBALANCE GT 0xB8 PUSH30 0xEC64736F6C634300080B0033000000000000000000000000000000000000 ", | |
| "sourceMap": "231:5470:5:-:0;;;1298:497;;;;;;;;;;1342:42;1423;9323:15:0;9306:32;;;;;;;;;;9370:5;9344:32;;;;;;;;;;9248:133;;1516:66:5::1;1505:77;;:7;:77;;;;1598:14;1592:3;:20;;;;1653:10;1645:5;;:18;;;;;;;;;;;;;;;;;;1725:1;1714:8;:12;;;;1750:5;1737:10;:18;;;;1766:22;:10;:20;;;;;:22;;:::i;:::-;231:5470:::0;;945:123:3;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;231:5470:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@current_283": { | |
| "entryPoint": 4632, | |
| "id": 283, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@enterRaffle_923": { | |
| "entryPoint": 1558, | |
| "id": 923, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@fulfillRandomness_786": { | |
| "entryPoint": 4646, | |
| "id": 786, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@getBalance_810": { | |
| "entryPoint": 1417, | |
| "id": 810, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getPlayerTickets_975": { | |
| "entryPoint": 1485, | |
| "id": 975, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@getPlayers_819": { | |
| "entryPoint": 2845, | |
| "id": 819, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getPseudoRandomNumber_945": { | |
| "entryPoint": 3292, | |
| "id": 945, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getRandomNumber_772": { | |
| "entryPoint": 4223, | |
| "id": 772, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getTickets_828": { | |
| "entryPoint": 2566, | |
| "id": 828, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinnerByRaffle_798": { | |
| "entryPoint": 2499, | |
| "id": 798, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinner_1000": { | |
| "entryPoint": 3025, | |
| "id": 1000, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinningTicketId_1023": { | |
| "entryPoint": 1425, | |
| "id": 1023, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@increment_297": { | |
| "entryPoint": 4610, | |
| "id": 297, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@lastEntryTime_709": { | |
| "entryPoint": 4472, | |
| "id": 709, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@makeRequestId_169": { | |
| "entryPoint": 5053, | |
| "id": 169, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@makeVRFInputSeed_150": { | |
| "entryPoint": 4993, | |
| "id": 150, | |
| "parameterSlots": 4, | |
| "returnSlots": 1 | |
| }, | |
| "@maxEntries_694": { | |
| "entryPoint": 4466, | |
| "id": 694, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@owner_663": { | |
| "entryPoint": 2987, | |
| "id": 663, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@payWinner_1071": { | |
| "entryPoint": 3386, | |
| "id": 1071, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@pickWinnerTest_954": { | |
| "entryPoint": 4068, | |
| "id": 954, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@pickWinner_963": { | |
| "entryPoint": 2690, | |
| "id": 963, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@players_666": { | |
| "entryPoint": 4496, | |
| "id": 666, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@raffleHistory_672": { | |
| "entryPoint": 3998, | |
| "id": 672, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@raffleId_668": { | |
| "entryPoint": 3992, | |
| "id": 668, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@randomResult_685": { | |
| "entryPoint": 2560, | |
| "id": 685, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@rawFulfillRandomness_119": { | |
| "entryPoint": 3136, | |
| "id": 119, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@requestRandomness_70": { | |
| "entryPoint": 4657, | |
| "id": 70, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@state_683": { | |
| "entryPoint": 4049, | |
| "id": 683, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@ticketToPlayer_701": { | |
| "entryPoint": 4559, | |
| "id": 701, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@tickets_697": { | |
| "entryPoint": 2654, | |
| "id": 697, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_address": { | |
| "entryPoint": 5401, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_bool_fromMemory": { | |
| "entryPoint": 8361, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_bytes32": { | |
| "entryPoint": 6139, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 5490, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256_fromMemory": { | |
| "entryPoint": 7896, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_address": { | |
| "entryPoint": 5422, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_bool_fromMemory": { | |
| "entryPoint": 8382, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_bytes32t_uint256": { | |
| "entryPoint": 6160, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 2 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 5511, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256_fromMemory": { | |
| "entryPoint": 7917, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable": { | |
| "entryPoint": 5899, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
| "entryPoint": 5675, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_address_payable_to_t_address_payable": { | |
| "entryPoint": 5884, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
| "entryPoint": 5574, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_to_t_address_fromStack": { | |
| "entryPoint": 6064, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack": { | |
| "entryPoint": 7650, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_array$_t_address_payable_$dyn_memory_ptr_to_t_array$_t_address_payable_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5936, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5712, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
| "entryPoint": 6370, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { | |
| "entryPoint": 8506, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
| "entryPoint": 8207, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_enum$_RaffleState_$680_to_t_uint8_fromStack": { | |
| "entryPoint": 6328, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6737, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7137, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6883, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 8003, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7245, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7534, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7426, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6991, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256": { | |
| "entryPoint": 5660, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 5281, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack": { | |
| "entryPoint": 7683, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_packed_t_address_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 7706, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 8529, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
| "entryPoint": 6079, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": { | |
| "entryPoint": 5589, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "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": 8264, | |
| "id": null, | |
| "parameterSlots": 4, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_array$_t_address_payable_$dyn_memory_ptr__to_t_array$_t_address_payable_$dyn_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6030, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 5806, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
| "entryPoint": 6385, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": { | |
| "entryPoint": 8070, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32_t_uint256_t_address_t_uint256__to_t_bytes32_t_uint256_t_address_t_uint256__fromStack_reversed": { | |
| "entryPoint": 8427, | |
| "id": null, | |
| "parameterSlots": 5, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_enum$_RaffleState_$680__to_t_uint8__fromStack_reversed": { | |
| "entryPoint": 6343, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6772, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7172, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6918, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 8038, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7280, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7569, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7461, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7026, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 5296, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_dataslot_t_array$_t_address_payable_$dyn_memory_ptr": { | |
| "entryPoint": 5868, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5644, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_array$_t_address_payable_$dyn_memory_ptr": { | |
| "entryPoint": 5840, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5616, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_bytes_memory_ptr": { | |
| "entryPoint": 8111, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr": { | |
| "entryPoint": 5923, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5699, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5851, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5627, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
| "entryPoint": 8122, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6641, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 6555, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_sub_t_uint256": { | |
| "entryPoint": 7750, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 5360, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address_payable": { | |
| "entryPoint": 5556, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bool": { | |
| "entryPoint": 8326, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bytes32": { | |
| "entryPoint": 6106, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_enum$_RaffleState_$680": { | |
| "entryPoint": 6291, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 5328, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 5271, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "convert_t_enum$_RaffleState_$680_to_t_uint8": { | |
| "entryPoint": 6310, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 8139, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "increment_t_uint256": { | |
| "entryPoint": 7312, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_address": { | |
| "entryPoint": 7632, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_bytes32": { | |
| "entryPoint": 8496, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_uint160": { | |
| "entryPoint": 7614, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_uint256": { | |
| "entryPoint": 7673, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "mod_t_uint256": { | |
| "entryPoint": 6459, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 6508, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x12": { | |
| "entryPoint": 6412, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x21": { | |
| "entryPoint": 6224, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x32": { | |
| "entryPoint": 7802, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 7849, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 5323, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 8190, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "shift_left_96": { | |
| "entryPoint": 7601, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "store_literal_in_memory_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf": { | |
| "entryPoint": 6658, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e": { | |
| "entryPoint": 7058, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41": { | |
| "entryPoint": 6804, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9": { | |
| "entryPoint": 7962, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0": { | |
| "entryPoint": 7204, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445": { | |
| "entryPoint": 7493, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e": { | |
| "entryPoint": 7385, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d": { | |
| "entryPoint": 6950, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_assert_t_enum$_RaffleState_$680": { | |
| "entryPoint": 6271, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_address": { | |
| "entryPoint": 5378, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_bool": { | |
| "entryPoint": 8338, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_bytes32": { | |
| "entryPoint": 6116, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 5467, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:24848:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "52:32:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "62:16:6", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "73:5:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "62:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "34:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "44:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:77:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "155:53:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "172:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "195:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "177:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "177:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "165:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "165:37:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "165:37:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "143:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "150:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "90:118:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "312:124:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "322:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "334:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "345:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "330:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "330:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "322:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "402:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "415:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "426:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "358:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "358:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "358:71:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "284:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "296:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "307:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "214:222:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "482:35:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "492:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "508:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "502:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "502:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "492:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "475:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "442:75:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "612:28:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "629:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "632:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "622:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "622:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "622:12:6" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "523:117:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "735:28:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "752:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "755:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "745:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "745:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "745:12:6" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "646:117:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "814:81:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "824:65:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "839:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "846:42:6", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "835:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "835:54:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "824:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "796:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "806:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "769:126:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "946:51:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "956:35:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "985:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "967:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "967:24:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "956:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "928:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "938:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "901:96:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1046:79:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1103:16:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1112:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1115:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1105:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1105:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1105:12:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1069:5:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1094:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1076:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1076:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1066:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1066:35:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1059:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1059:43:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1056:63:6" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1039:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1003:122:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1183:87:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1193:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1215:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1202:12:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1202:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1193:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1258:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1231:26:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1231:33:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1231:33:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1161:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1169:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1177:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1131:139:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1342:263:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1388:83:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1390:77:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1390:79:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1390:79:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1363:7:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1372:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1359:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1359:23:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1384:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1355:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1355:32:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1352:119:6" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1481:117:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1496:15:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1510:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1500:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1525:63:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1560:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1571:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1556:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1556:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1580:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1535:20:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1535:53:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1525:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1312:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1323:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1335:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1276:329:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1654:79:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1711:16:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1720:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1723:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1713:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1713:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1713:12:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1677:5:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1702:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1684:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1684:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1674:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1674:35:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1667:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1667:43:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1664:63:6" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1647:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1611:122:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1791:87:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1801:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1823:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1810:12:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1810:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1801:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1866:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1839:26:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1839:33:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1839:33:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1769:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1777:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1785:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1739:139:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1950:263:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1996:83:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1998:77:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1998:79:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1998:79:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:7:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1980:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1967:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1967:23:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1992:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1963:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1963:32:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1960:119:6" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2089:117:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2104:15:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2118:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2108:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2133:63:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2168:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2179:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2164:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2164:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2188:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2143:20:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2143:53:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2133:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1920:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1931:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1943:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1884:329:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2272:51:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2282:35:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2311:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "2293:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2293:24:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2282:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2254:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2264:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2219:104:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2410:61:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2427:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2458:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "2432:25:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2432:32:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2420:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2420:45:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2420:45:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2398:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2405:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2329:142:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2591:140:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2601:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2613:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2624:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2609:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2609:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2601:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2697:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2710:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2721:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2706:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2706:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "2637:59:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2637:87:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2637:87:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2563:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "2575:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "2586:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2477:254:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2811:40:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2822:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2838:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2832:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2832:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2822:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2794:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2804:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2737:114:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2968:73:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2985:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2990:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2978:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2978:19:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2978:19:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3006:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3025:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3030:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3021:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3021:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3006:11:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2940:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2945:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2956:11:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2857:184:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3119:60:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3129:11:6", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3137:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3129:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3150:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3167:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3158:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3158:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3150:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "3106:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3114:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3047:132:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3240:53:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3257:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3280:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3262:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3262:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3250:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3250:37:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3250:37:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3228:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3235:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3185:108:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3379:99:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "3423:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3431:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3389:33:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3389:46:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3389:46:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3444:28:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3462:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3467:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3458:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3458:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3444:10:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "3352:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3360:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulTypedName", | |
| "src": "3368:10:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3299:179:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3559:38:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3569:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3581:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3586:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3577:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3577:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulIdentifier", | |
| "src": "3569:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "3546:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulTypedName", | |
| "src": "3554:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3484:113:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3757:608:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3767:68:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3829:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3781:47:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3781:54:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3771:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3844:93:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3925:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3930:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3851:73:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3851:86:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3844:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3946:71:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4011:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3961:49:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3961:56:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "baseRef", | |
| "nodeType": "YulTypedName", | |
| "src": "3950:7:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4026:21:6", | |
| "value": { | |
| "name": "baseRef", | |
| "nodeType": "YulIdentifier", | |
| "src": "4040:7:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "4030:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4116:224:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4130:34:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4157:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4151:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4151:13:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulTypedName", | |
| "src": "4134:13:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4177:70:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulIdentifier", | |
| "src": "4228:13:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4243:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4184:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4184:63:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4177:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4260:70:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4323:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4270:52:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4270:60:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4260:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4078:1:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4081:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4075:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4075:13:6" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "4089:18:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4091:14:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4100:1:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4103:1:6", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4096:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4096:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4091:1:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "4060:14:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4062:10:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4071:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "4066:1:6", | |
| "type": "" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "src": "4056:284:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4349:10:6", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4356:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "4349: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": "3736:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3743:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "3752:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3633:732:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4519:225:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4529:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4541:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4552:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4537:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4537:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4529:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4576:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4587:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4572:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4572:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4595:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4601:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "4591:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4591:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4565:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4565:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4565:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4621:116:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "4723:6:6" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4732: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": "4629:93:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4629:108:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4621:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "4491:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "4503:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "4514:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4371:373:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4832:40:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4843:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4859:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4853:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4853:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4843:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4815:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4825:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4750:122:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4997:73:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5014:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5019:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5007:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5007:19:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5007:19:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5035:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5054:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5059:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5050:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5050:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5035:11:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4969:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4974:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4985:11:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4878:192:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5156:60:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5166:11:6", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5174:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "5166:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5187:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5199:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5204:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5195:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5195:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "5187:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "5143:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "5151:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5076:140:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5293:61:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5310:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5341:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "5315:25:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5315:32:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5303:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5303:45:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5303:45:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5281:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5288:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5222:132:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5456:115:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "5516:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5524:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "5466:49:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5466:62:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5466:62:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5537:28:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5555:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5560:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5551:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5551:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5537:10:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "5429:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5437:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulTypedName", | |
| "src": "5445:10:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5360:211:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5660:38:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5670:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5682:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5687:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5678:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5678:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulIdentifier", | |
| "src": "5670:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "5647:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulTypedName", | |
| "src": "5655:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5577:121:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5890:656:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5900:76:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5970:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5914:55:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5914:62:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "5904:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5985:101:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6074:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "6079:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "5992:81:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5992:94:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5985:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6095:79:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "6168:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6110:57:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6110:64:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "baseRef", | |
| "nodeType": "YulTypedName", | |
| "src": "6099:7:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6183:21:6", | |
| "value": { | |
| "name": "baseRef", | |
| "nodeType": "YulIdentifier", | |
| "src": "6197:7:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "6187:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6273:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6287:34:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6314:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "6308:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6308:13:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulTypedName", | |
| "src": "6291:13:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6334:86:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulIdentifier", | |
| "src": "6401:13:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6416:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "6341:59:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6341:79:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6334:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6433:78:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6504:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6443:60:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6443:68:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6433:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6235:1:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "6238:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "6232:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6232:13:6" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "6246:18:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6248:14:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6257:1:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6260:1:6", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6253:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6253:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6248:1:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "6217:14:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6219:10:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6228:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "6223:1:6", | |
| "type": "" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "src": "6213:308:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6530:10:6", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6537:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "6530:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_array$_t_address_payable_$dyn_memory_ptr_to_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5869:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5876:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "5885:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5750:796:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6716:241:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6726:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6738:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6749:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6734:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6734:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6726:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6773:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6784:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6769:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6769:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6792:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6798:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "6788:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6788:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "6762:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6762:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6762:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6818:132:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "6936:6:6" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6945:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_array$_t_address_payable_$dyn_memory_ptr_to_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "6826:109:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6826:124:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6818:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_array$_t_address_payable_$dyn_memory_ptr__to_t_array$_t_address_payable_$dyn_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "6688:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "6700:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "6711:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6552:405:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7028:53:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7045:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7068:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "7050:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7050:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "7038:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7038:37:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7038:37:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7016:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7023:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6963:118:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7185:124:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7195:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7207:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7218:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7203:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7203:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "7195:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "7275:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7288:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7299:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7284:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7284:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "7231:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7231:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7231:71:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "7157:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "7169:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "7180:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7087:222:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7360:32:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7370:16:6", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7381:5:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "7370:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7342:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "7352:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7315:77:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7441:79:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7498:16:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7507:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7510:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "7500:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7500:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7500:12:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7464:5:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7489:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7471:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7471:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "7461:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7461:35:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "7454:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7454:43:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "7451:63:6" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7434:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7398:122:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7578:87:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7588:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "7610:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "7597:12:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7597:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7588:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7653:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7626:26:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7626:33:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7626:33:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "7556:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "7564:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7572:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7526:139:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7754:391:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7800:83:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "7802:77:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7802:79:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7802:79:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "7775:7:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7784:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "7771:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7771:23:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7796:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "7767:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7767:32:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "7764:119:6" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "7893:117:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "7908:15:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7922:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "7912:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7937:63:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7972:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "7983:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7968:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7968:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "7992:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7947:20:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7947:53:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "7937:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "8020:118:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "8035:16:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8049:2:6", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "8039:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8065:63:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "8100:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "8111:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "8096:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8096:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "8120:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "8075:20:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8075:53:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "8065:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_bytes32t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "7716:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "7727:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "7739:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "7747:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7671:474:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8179:152:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8196:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8199:77:6", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8189:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8189:88:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8189:88:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8293:1:6", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8296:4:6", | |
| "type": "", | |
| "value": "0x21" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8286:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8286:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8286:15:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8317:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8320:4:6", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "8310:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8310:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8310:15:6" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x21", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "8151:180:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8395:62:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8429:22:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x21", | |
| "nodeType": "YulIdentifier", | |
| "src": "8431:16:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8431:18:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8431:18:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8418:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8425:1:6", | |
| "type": "", | |
| "value": "3" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "8415:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8415:12:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "8408:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8408:20:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "8405:46:6" | |
| } | |
| ] | |
| }, | |
| "name": "validator_assert_t_enum$_RaffleState_$680", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8388:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8337:120:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8523:81:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8533:16:6", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8544:5:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "8533:7:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8592:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_assert_t_enum$_RaffleState_$680", | |
| "nodeType": "YulIdentifier", | |
| "src": "8550:41:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8550:48:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8550:48:6" | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_enum$_RaffleState_$680", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8505:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "8515:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8463:141:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8683:68:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8693:52:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8739:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_enum$_RaffleState_$680", | |
| "nodeType": "YulIdentifier", | |
| "src": "8706:32:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8706:39:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulIdentifier", | |
| "src": "8693:9:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "convert_t_enum$_RaffleState_$680_to_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8663:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulTypedName", | |
| "src": "8673:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8610:141:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8835:79:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8852:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8901:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "convert_t_enum$_RaffleState_$680_to_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "8857:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8857:50:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8845:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8845:63:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8845:63:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_enum$_RaffleState_$680_to_t_uint8_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8823:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "8830:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8757:157:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9031:137:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9041:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9053:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9064:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9049:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9049:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9041:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9134:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9147:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9158:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9143:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9143:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_enum$_RaffleState_$680_to_t_uint8_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9077:56:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9077:84:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9077:84:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_enum$_RaffleState_$680__to_t_uint8__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9003:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9015:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9026:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8920:248:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9239:53:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9256:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "9279:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "9261:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9261:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9249:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9249:37:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9249:37:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "9227:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "9234:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9174:118:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9396:124:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9406:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9418:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9429:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9414:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9414:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9406:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9486:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9499:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9510:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9495:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9495:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9442:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9442:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9442:71:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9368:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9380:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9391:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9298:222:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9554:152:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9571:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9574:77:6", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9564:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9564:88:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9564:88:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9668:1:6", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9671:4:6", | |
| "type": "", | |
| "value": "0x12" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9661:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9661:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9661:15:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9692:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9695:4:6", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "9685:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9685:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9685:15:6" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "9526:180:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9746:142:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9756:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9779:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "9761:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9761:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9756:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9790:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9813:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "9795:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9795:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9790:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9837:22:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulIdentifier", | |
| "src": "9839:16:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9839:18:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9839:18:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9834:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "9827:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9827:9:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "9824:35:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9868:14:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9877:1:6" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9880:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mod", | |
| "nodeType": "YulIdentifier", | |
| "src": "9873:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9873:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulIdentifier", | |
| "src": "9868:1:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "mod_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "9735:1:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "9738:1:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulTypedName", | |
| "src": "9744:1:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9712:176:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9922:152:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9939:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9942:77:6", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9932:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9932:88:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9932:88:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10036:1:6", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10039:4:6", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10029:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10029:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10029:15:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10060:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10063:4:6", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "10053:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10053:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10053:15:6" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "9894:180:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10124:261:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10134:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10157:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "10139:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10139:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10134:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10168:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10191:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "10173:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10173:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10168:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10331:22:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "10333:16:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10333:18:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10333:18:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10252:1:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10259:66:6", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10327:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "10255:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10255:74:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "10249:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10249:81:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "10246:107:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10363:16:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10374:1:6" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10377:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10370:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10370:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "10363:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "10111:1:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "10114:1:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "10120:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10080:305:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10487:73:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10504:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "10509:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10497:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10497:19:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10497:19:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10525:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10544:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10549:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10540:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10540:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10525:11:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10459:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "10464:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10475:11:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10391:169:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10672:115:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "10694:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10702:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10690:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10690:14:6" | |
| }, | |
| { | |
| "hexValue": "526166666c65206973206e6f7420696e2074686520636f727265637420737461", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "10706:34:6", | |
| "type": "", | |
| "value": "Raffle is not in the correct sta" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10683:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10683:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10683:58:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "10762:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10770:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10758:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10758:15:6" | |
| }, | |
| { | |
| "hexValue": "7465", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "10775:4:6", | |
| "type": "", | |
| "value": "te" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10751:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10751:29:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10751:29:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "10664:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10566:221:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10939:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10949:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11015:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11020:2:6", | |
| "type": "", | |
| "value": "34" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10956:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10956:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10949:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11121:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf", | |
| "nodeType": "YulIdentifier", | |
| "src": "11032:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11032:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11032:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11134:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11145:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11150:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11141:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11141:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "11134:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10927:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "10935:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10793:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11336:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11346:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11358:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11369:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11354:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11354:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11346:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11393:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11404:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11389:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11389:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11412:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11418:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "11408:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11408:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11382:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11382:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11382:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11438:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11572:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11446:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11446:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11438:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "11316:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "11331:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11165:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11696:137:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "11718:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11726:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11714:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11714:14:6" | |
| }, | |
| { | |
| "hexValue": "596f75206d75737420776169742035206d696e75746573206265666f72652065", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "11730:34:6", | |
| "type": "", | |
| "value": "You must wait 5 minutes before e" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11707:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11707:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11707:58:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "11786:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11794:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11782:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11782:15:6" | |
| }, | |
| { | |
| "hexValue": "6e746572696e672074686520726166666c6520616761696e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "11799:26:6", | |
| "type": "", | |
| "value": "ntering the raffle again" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11775:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11775:51:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11775:51:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "11688:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11590:243:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11985:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11995:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12061:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12066:2:6", | |
| "type": "", | |
| "value": "56" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12002:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12002:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11995:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12167:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41", | |
| "nodeType": "YulIdentifier", | |
| "src": "12078:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12078:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12078:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12180:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12191:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12196:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12187:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12187:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "12180:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "11973:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "11981:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11839:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12382:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12392:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12404:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12415:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12400:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12400:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12392:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12439:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12450:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12435:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12435:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12458:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12464:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "12454:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12454:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12428:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12428:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12428:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12484:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12618:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12492:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12492:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12484:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "12362:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "12377:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12211:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12742:58:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "12764:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12772:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12760:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12760:14:6" | |
| }, | |
| { | |
| "hexValue": "526166666c652069732066756c6c", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "12776:16:6", | |
| "type": "", | |
| "value": "Raffle is full" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12753:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12753:40:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12753:40:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "12734:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12636:164:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12952:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12962:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13028:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13033:2:6", | |
| "type": "", | |
| "value": "14" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12969:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12969:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12962:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13134:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d", | |
| "nodeType": "YulIdentifier", | |
| "src": "13045:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13045:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13045:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13147:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13158:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13163:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13154:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13154:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "13147:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "12940:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "12948:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12806:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13349:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13359:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13371:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13382:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13367:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13367:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13359:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13406:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13417:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13402:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13402:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13425:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13431:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "13421:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13421:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13395:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13395:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13395:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13451:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13585:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13459:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13459:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13451:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "13329:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "13344:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13178:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13709:118:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "13731:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13739:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13727:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13727:14:6" | |
| }, | |
| { | |
| "hexValue": "596f752068617665207265616368656420796f7572206d6178696d756d20656e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "13743:34:6", | |
| "type": "", | |
| "value": "You have reached your maximum en" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13720:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13720:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13720:58:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "13799:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13807:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13795:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13795:15:6" | |
| }, | |
| { | |
| "hexValue": "7472696573", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "13812:7:6", | |
| "type": "", | |
| "value": "tries" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13788:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13788:32:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13788:32:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "13701:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13603:224:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13979:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13989:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14055:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14060:2:6", | |
| "type": "", | |
| "value": "37" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13996:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13996:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13989:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14161:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e", | |
| "nodeType": "YulIdentifier", | |
| "src": "14072:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14072:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14072:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14174:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14185:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14190:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14181:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14181:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "14174:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "13967:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "13975:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13833:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14376:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14386:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14398:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14409:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14394:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14394:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14386:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14433:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14444:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14429:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14429:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14452:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14458:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "14448:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14448:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "14422:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14422:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14422:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14478:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14612:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14486:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14486:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14478:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "14356:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "14371:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14205:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14736:69:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "14758:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14766:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14754:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14754:14:6" | |
| }, | |
| { | |
| "hexValue": "4d696e696d756d20656e74727920666565206e6f74206d6574", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "14770:27:6", | |
| "type": "", | |
| "value": "Minimum entry fee not met" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "14747:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14747:51:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14747:51:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "14728:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14630:175:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14957:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14967:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15033:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15038:2:6", | |
| "type": "", | |
| "value": "25" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14974:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14974:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14967:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15139:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0", | |
| "nodeType": "YulIdentifier", | |
| "src": "15050:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15050:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15050:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15152:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15163:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15168:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15159:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15159:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "15152:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "14945:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "14953:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14811:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15354:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15364:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15376:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15387:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15372:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15372:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15364:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15411:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15422:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15407:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15407:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15430:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15436:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "15426:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15426:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "15400:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15400:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15400:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15456:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15590:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "15464:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15464:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15456:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "15334:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "15349:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15183:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15651:190:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15661:33:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "15688:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "15670:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15670:24:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "15661:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15784:22:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "15786:16:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15786:18:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15786:18:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "15709:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15716:66:6", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "15706:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15706:77:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "15703:103:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15815:20:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "15826:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15833:1:6", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15822:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15822:13:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "15815:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "increment_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "15637:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "15647:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15608:233:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15953:76:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "15975:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15983:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15971:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15971:14:6" | |
| }, | |
| { | |
| "hexValue": "4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "15987:34:6", | |
| "type": "", | |
| "value": "Only owner can run this function" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "15964:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15964:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15964:58:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "15945:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15847:182:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16181:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16191:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16257:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16262:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "16198:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16198:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16191:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16363:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e", | |
| "nodeType": "YulIdentifier", | |
| "src": "16274:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16274:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16274:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16376:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16387:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16392:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16383:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16383:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "16376:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "16169:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "16177:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16035:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16578:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16588:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16600:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16611:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16596:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16596:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16588:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16635:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16646:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16631:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16631:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16654:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16660:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "16650:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16650:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "16624:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16624:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16624:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16680:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16814:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "16688:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16688:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16680:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "16558:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "16573:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16407:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16938:75:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "16960:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16968:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16956:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16956:14:6" | |
| }, | |
| { | |
| "hexValue": "4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "16972:33:6", | |
| "type": "", | |
| "value": "Only VRFCoordinator can fulfill" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "16949:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16949:57:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16949:57:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "16930:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16832:181:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17165:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17175:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17241:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17246:2:6", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "17182:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17182:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17175:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17347:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
| "nodeType": "YulIdentifier", | |
| "src": "17258:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17258:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17258:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17360:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17371:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17376:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "17367:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17367:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "17360:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "17153:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "17161:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17019:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17562:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17572:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "17584:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17595:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "17580:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17580:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "17572:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "17619:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17630:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "17615:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17615:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "17638:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "17644:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "17634:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17634:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "17608:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17608:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17608:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17664:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "17798:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "17672:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17672:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "17664:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "17542:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "17557:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17391:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17858:52:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17868:35:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17893:2:6", | |
| "type": "", | |
| "value": "96" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17897:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shl", | |
| "nodeType": "YulIdentifier", | |
| "src": "17889:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17889:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "17868:8:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_left_96", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17839:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "17849:8:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17816:94:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17963:47:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17973:31:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17998:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_96", | |
| "nodeType": "YulIdentifier", | |
| "src": "17984:13:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17984:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17973:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17945:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "17955:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17916:94:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18063:53:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18073:37:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18104:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "18084:19:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18084:26:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "18073:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "18045:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "18055:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18016:100:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18205:74:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18222:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18265:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "18247:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18247:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "18227:19:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18227:45:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18215:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18215:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18215:58:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "18193:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "18200:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18122:157:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18332:32:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18342:16:6", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18353:5:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "18342:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "18314:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "18324:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18285:79:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18453:74:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18470:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18513:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18495:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18495:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18475:19:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18475:45:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18463:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18463:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18463:58:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "18441:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "18448:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18370:157:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18677:253:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "18750:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18759:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "18688:61:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18688:75:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18688:75:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18772:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18783:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18788:2:6", | |
| "type": "", | |
| "value": "20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "18779:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18779:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18772:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "18863:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18872:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "18801:61:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18801:75:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18801:75:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18885:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18896:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18901:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "18892:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18892:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18885:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18914:10:6", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18921:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "18914:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_packed_t_address_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "18648:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "18654:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "18662:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "18673:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18533:397:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18981:146:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18991:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19014:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18996:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18996:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "18991:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19025:25:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19048:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "19030:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19030:20:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19025:1:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19072:22:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "19074:16:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19074:18:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19074:18:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19066:1:6" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19069:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "19063:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19063:8:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "19060:34:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19104:17:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "19116:1:6" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "19119:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "19112:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19112:9:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulIdentifier", | |
| "src": "19104:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_sub_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "18967:1:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "18970:1:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulTypedName", | |
| "src": "18976:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18936:191:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19161:152:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19178:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19181:77:6", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19171:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19171:88:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19171:88:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19275:1:6", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19278:4:6", | |
| "type": "", | |
| "value": "0x32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19268:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19268:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19268:15:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19299:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19302:4:6", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "19292:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19292:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19292:15:6" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x32", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "19133:180:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19347:152:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19364:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19367:77:6", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19357:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19357:88:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19357:88:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19461:1:6", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19464:4:6", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19454:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19454:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19454:15:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19485:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19488:4:6", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "19478:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19478:15:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19478:15:6" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "19319:180:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19568:80:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19578:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "19593:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "19587:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19587:13:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "19578:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "19636:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "19609:26:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19609:33:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19609:33:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "19546:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "19554:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "19562:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19505:143:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19731:274:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19777:83:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "19779:77:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19779:79:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19779:79:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "19752:7:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "19761:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "19748:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19748:23:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19773:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "19744:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19744:32:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "19741:119:6" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "19870:128:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "19885:15:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19899:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "19889:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19914:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "19960:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "19971:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "19956:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19956:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "19980:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "19924:31:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19924:64:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "19914:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "19701:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "19712:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "19724:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19654:351:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20117:71:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "20139:6:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20147:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20135:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20135:14:6" | |
| }, | |
| { | |
| "hexValue": "4e6f7420656e6f756768204c494e4b20696e20636f6e7472616374", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "20151:29:6", | |
| "type": "", | |
| "value": "Not enough LINK in contract" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20128:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20128:53:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20128:53:6" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "20109:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20011:177:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20340:220:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20350:74:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20416:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20421:2:6", | |
| "type": "", | |
| "value": "27" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "20357:58:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20357:67:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20350:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20522:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9", | |
| "nodeType": "YulIdentifier", | |
| "src": "20433:88:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20433:93:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20433:93:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20535:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20546:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20551:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20542:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20542:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "20535:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "20328:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "20336:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20194:366:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20737:248:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20747:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20759:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20770:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20755:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20755:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "20747:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20794:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20805:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20790:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20790:17:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "20813:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20819:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "20809:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20809:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20783:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20783:47:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20783:47:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20839:139:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "20973:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "20847:124:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20847:131:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "20839:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "20717:9:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "20732:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20566:419:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21117:206:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21127:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21139:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21150:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21135:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21135:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "21127:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "21207:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21220:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21231:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21216:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21216:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21163:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21163:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21163:71:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "21288:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21301:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21312:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21297:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21297:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21244:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21244:72:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21244:72:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "21081:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "21093:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "21101:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "21112:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20991:332:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21387:40:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21398:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21414:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "21408:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21408:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21398:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21370:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "21380:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21329:98:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21528:73:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21545:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21550:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21538:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21538:19:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21538:19:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21566:29:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21585:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21590:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21581:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21581:14:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21566:11:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "21500:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "21505:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "21516:11:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21433:168:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21656:258:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "21666:10:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21675:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "21670:1:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21735:63:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "21760:3:6" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21765:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21756:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21756:11:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "21779:3:6" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21784:1:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21775:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21775:11:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "21769:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21769:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21749:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21749:39:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21749:39:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21696:1:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21699:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "21693:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21693:13:6" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "21707:19:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21709:15:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21718:1:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21721:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21714:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21714:10:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21709:1:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "21689:3:6", | |
| "statements": [] | |
| }, | |
| "src": "21685:113:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21832:76:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "21882:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21887:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21878:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21878:16:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21896:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21871:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21871:27:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21871:27:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "21813:1:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21816:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "21810:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21810:13:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "21807:101:6" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "21638:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "21643:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "21648:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21607:307:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21968:54:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21978:38:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21996:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22003:2:6", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21992:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21992:14:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22012:2:6", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "22008:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22008:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "21988:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21988:28:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "21978:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21951:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "21961:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21920:102:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22118:270:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "22128:52:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22174:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "22142:31:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22142:38:6" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "22132:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22189:77:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "22254:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "22259:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22196:57:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22196:70:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "22189:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22301:5:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22308:4:6", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22297:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22297:16:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "22315:3:6" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "22320:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "22275:21:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22275:52:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22275:52:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22336:46:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "22347:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "22374:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "22352:21:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22352:29:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22343:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22343:39:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "22336:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "22099:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "22106:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "22114:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22028:360:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22566:357:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22576:26:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22588:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22599:2:6", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22584:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22584:18:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "22576:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "22656:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22669:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22680:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22665:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22665:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22612:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22612:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22612:71:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "22737:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22750:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22761:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22746:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22746:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22693:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22693:72:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22693:72:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22786:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22797:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22782:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22782:18:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "22806:4:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22812:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "22802:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22802:20:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "22775:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22775:48:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22775:48:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22832:84:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "22902:6:6" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "22911:4:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22840:61:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22840:76:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "22832:4:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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": "22522:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "22534:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "22542:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "22550:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "22561:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22394:529:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22971:48:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22981:32:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23006:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "22999:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22999:13:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "22992:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22992:21:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "22981:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "22953:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "22963:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22929:90:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23065:76:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23119:16:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23128:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23131:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "23121:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23121:12:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23121:12:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23088:5:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23110:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulIdentifier", | |
| "src": "23095:14:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23095:21:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "23085:2:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23085:32:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "23078:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23078:40:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "23075:60:6" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_bool", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23058:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23025:116:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23207:77:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23217:22:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "23232:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "23226:5:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23226:13:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23217:5:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23272:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_bool", | |
| "nodeType": "YulIdentifier", | |
| "src": "23248:23:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23248:30:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23248:30:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_bool_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "23185:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "23193:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23201:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23147:137:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23364:271:6", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23410:83:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "23412:77:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23412:79:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23412:79:6" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "23385:7:6" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23394:9:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "23381:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23381:23:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23406:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "23377:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23377:32:6" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "23374:119:6" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "23503:125:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "23518:15:6", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23532:1:6", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "23522:6:6", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23547:71:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23590:9:6" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "23601:6:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23586:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23586:22:6" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "23610:7:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_bool_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "23557:28:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23557:61:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "23547:6:6" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_bool_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "23334:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "23345:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "23357:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23290:345:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23823:371:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23833:27:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23845:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23856:3:6", | |
| "type": "", | |
| "value": "128" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23841:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23841:19:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "23833:4:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "23914:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23927:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23938:1:6", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23923:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23923:17:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "23870:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23870:71:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23870:71:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "23995:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "24008:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24019:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24004:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24004:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "23951:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23951:72:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23951:72:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "24077:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "24090:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24101:2:6", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24086:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24086:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "24033:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24033:72:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24033:72:6" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value3", | |
| "nodeType": "YulIdentifier", | |
| "src": "24159:6:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "24172:9:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24183:2:6", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24168:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24168:18:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "24115:43:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24115:72:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24115:72:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32_t_uint256_t_address_t_uint256__to_t_bytes32_t_uint256_t_address_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "23771:9:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value3", | |
| "nodeType": "YulTypedName", | |
| "src": "23783:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "23791:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "23799:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "23807:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "23818:4:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23641:553:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24247:32:6", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "24257:16:6", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "24268:5:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "24257:7:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "24229:5:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "24239:7:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "24200:79:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24368:74:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24385:3:6" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "24428:5:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "24410:17:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24410:24:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "24390:19:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24390:45:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "24378:6:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24378:58:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24378:58:6" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "24356:5:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "24363:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "24285:157:6" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "24592:253:6", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "24665:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24674:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "24603:61:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24603:75:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24603:75:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "24687:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24698:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24703:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24694:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24694:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24687:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "24778:6:6" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24787:3:6" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "24716:61:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24716:75:6" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "24716:75:6" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "24800:19:6", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24811:3:6" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "24816:2:6", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "24807:3:6" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "24807:12:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24800:3:6" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "24829:10:6", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "24836:3:6" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "24829:3:6" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "24563:3:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "24569:6:6", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "24577:6:6", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "24588:3:6", | |
| "type": "" | |
| } | |
| ], | |
| "src": "24448:397:6" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(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 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 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 cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_payable_to_t_address_payable_fromStack(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_payable_to_t_address_payable_fromStack(value0, add(headStart, 0))\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_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_array$_t_address_payable_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_payable_$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_address_payable_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_address_payable_to_t_address_payable(value, pos) {\n mstore(pos, cleanup_t_address_payable(value))\n }\n\n function abi_encodeUpdatedPos_t_address_payable_to_t_address_payable(value0, pos) -> updatedPos {\n abi_encode_t_address_payable_to_t_address_payable(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address payable[] -> address payable[]\n function abi_encode_t_array$_t_address_payable_$dyn_memory_ptr_to_t_array$_t_address_payable_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_payable_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_payable_$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_address_payable_to_t_address_payable(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_payable_$dyn_memory_ptr__to_t_array$_t_address_payable_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_payable_$dyn_memory_ptr_to_t_array$_t_address_payable_$dyn_memory_ptr_fromStack(value0, tail)\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 cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32t_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_bytes32(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 panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_RaffleState_$680(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_RaffleState_$680(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_RaffleState_$680(value)\n }\n\n function convert_t_enum$_RaffleState_$680_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_RaffleState_$680(value)\n }\n\n function abi_encode_t_enum$_RaffleState_$680_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_RaffleState_$680_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_RaffleState_$680__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_RaffleState_$680_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function 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_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf(memPtr) {\n\n mstore(add(memPtr, 0), \"Raffle is not in the correct sta\")\n\n mstore(add(memPtr, 32), \"te\")\n\n }\n\n function abi_encode_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf__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_36081976663c90489216e185f32c68620f539c9c6cf09a7c0475343541cdcfaf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41(memPtr) {\n\n mstore(add(memPtr, 0), \"You must wait 5 minutes before e\")\n\n mstore(add(memPtr, 32), \"ntering the raffle again\")\n\n }\n\n function abi_encode_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41__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_82d7149c682028ca9b7fae8b21f0116ebc1ebe1930467a1e64337f27d943ad41_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d(memPtr) {\n\n mstore(add(memPtr, 0), \"Raffle is full\")\n\n }\n\n function abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d__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_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e(memPtr) {\n\n mstore(add(memPtr, 0), \"You have reached your maximum en\")\n\n mstore(add(memPtr, 32), \"tries\")\n\n }\n\n function abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e__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_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0(memPtr) {\n\n mstore(add(memPtr, 0), \"Minimum entry fee not met\")\n\n }\n\n function abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0__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_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack( tail)\n\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 store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can run this function\")\n\n }\n\n function abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e__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_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445(memPtr) {\n\n mstore(add(memPtr, 0), \"Only VRFCoordinator can fulfill\")\n\n }\n\n function abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__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_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function shift_left_96(value) -> newValue {\n newValue :=\n\n shl(96, value)\n\n }\n\n function leftAlign_t_uint160(value) -> aligned {\n aligned := shift_left_96(value)\n }\n\n function leftAlign_t_address(value) -> aligned {\n aligned := leftAlign_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_address(cleanup_t_address(value)))\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_address_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 20)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function 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 store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9(memPtr) {\n\n mstore(add(memPtr, 0), \"Not enough LINK in contract\")\n\n }\n\n function abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9__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_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\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(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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(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 function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_bytes32_t_uint256_t_address_t_uint256__to_t_bytes32_t_uint256_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_bytes32(cleanup_t_bytes32(value)))\n }\n\n function abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value1, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n}\n", | |
| "id": 6, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": { | |
| "73": [ | |
| { | |
| "length": 32, | |
| "start": 4230 | |
| }, | |
| { | |
| "length": 32, | |
| "start": 4661 | |
| } | |
| ], | |
| "75": [ | |
| { | |
| "length": 32, | |
| "start": 3138 | |
| }, | |
| { | |
| "length": 32, | |
| "start": 4721 | |
| } | |
| ] | |
| }, | |
| "linkReferences": {}, | |
| "object": "60806040526004361061014b5760003560e01c806394985ddd116100b6578063cd7688c61161006f578063cd7688c614610465578063dbdff2c11461047c578063f23f3ba5146104a7578063f5e365d2146104d2578063f71d96cb1461050f578063f98e6b911461054c5761014b565b806394985ddd146103555780639c6f87e91461037e578063a5c0449f146103a9578063b375603c146103d2578063b5c255d5146103fd578063c19d93fb1461043a5761014b565b80634ed02622116101085780634ed026221461025557806350b44712146102805780635d495aea146102bd5780638b5b9ccc146102d45780638da5cb5b146102ff5780638e7ea5b21461032a5761014b565b806312065fe0146101505780631d84720a1461017b57806323413198146101a65780632cfcc539146101e35780633aae0e07146101ed57806342619f661461022a575b600080fd5b34801561015c57600080fd5b50610165610589565b60405161017291906114b0565b60405180910390f35b34801561018757600080fd5b50610190610591565b60405161019d91906114b0565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c8919061152e565b6105cd565b6040516101da91906114b0565b60405180910390f35b6101eb610616565b005b3480156101f957600080fd5b50610214600480360381019061020f9190611587565b6109c3565b60405161022191906115d5565b60405180910390f35b34801561023657600080fd5b5061023f610a00565b60405161024c91906114b0565b60405180910390f35b34801561026157600080fd5b5061026a610a06565b60405161027791906116ae565b60405180910390f35b34801561028c57600080fd5b506102a760048036038101906102a29190611587565b610a5e565b6040516102b491906114b0565b60405180910390f35b3480156102c957600080fd5b506102d2610a82565b005b3480156102e057600080fd5b506102e9610b1d565b6040516102f6919061178e565b60405180910390f35b34801561030b57600080fd5b50610314610bab565b60405161032191906117bf565b60405180910390f35b34801561033657600080fd5b5061033f610bd1565b60405161034c91906117bf565b60405180910390f35b34801561036157600080fd5b5061037c60048036038101906103779190611810565b610c40565b005b34801561038a57600080fd5b50610393610cdc565b6040516103a091906114b0565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190611587565b610d3a565b005b3480156103de57600080fd5b506103e7610f98565b6040516103f491906114b0565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190611587565b610f9e565b60405161043191906115d5565b60405180910390f35b34801561044657600080fd5b5061044f610fd1565b60405161045c91906118c7565b60405180910390f35b34801561047157600080fd5b5061047a610fe4565b005b34801561048857600080fd5b5061049161107f565b60405161049e91906118f1565b60405180910390f35b3480156104b357600080fd5b506104bc611172565b6040516104c991906114b0565b60405180910390f35b3480156104de57600080fd5b506104f960048036038101906104f4919061152e565b611178565b60405161050691906114b0565b60405180910390f35b34801561051b57600080fd5b5061053660048036038101906105319190611587565b611190565b60405161054391906115d5565b60405180910390f35b34801561055857600080fd5b50610573600480360381019061056e9190611587565b6111cf565b60405161058091906117bf565b60405180910390f35b600047905090565b60008060085411156105c95760006001600b805490506008546105b4919061193b565b6105be919061199b565b9050809150506105ca565b5b90565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600281111561062b5761062a611850565b5b600760009054906101000a900460ff16600281111561064d5761064c611850565b5b1461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490611a74565b60405180910390fd5b4261012c600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106db919061199b565b1061071b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071290611b06565b60405180910390fd5b600a54600b8054905010610764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075b90611b72565b60405180910390fd5b6003600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106107e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dd90611c04565b60405180910390fd5b662386f26fc10000341015610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082790611c70565b60405180910390fd5b600061083c6009611218565b9050600b81908060018154018082558091505060019003906000526020600020016000909190919091505533600c600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906109b090611c90565b91905055506109bf6009611202565b5050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6060600b805480602002602001604051908101604052809291908181526020018280548015610a5457602002820191906000526020600020905b815481526020019060010190808311610a40575b5050505050905090565b600b8181548110610a6e57600080fd5b906000526020600020016000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990611d25565b60405180910390fd5b610b1a61107f565b50565b60606002805480602002602001604051908101604052809291908181526020018280548015610ba157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610b57575b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806008541115610c3c5760006001600b80549050600854610bf4919061193b565b610bfe919061199b565b9050600c600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050610c3d565b5b90565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc590611d91565b60405180910390fd5b610cd88282611226565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602001610d13929190611e1a565b6040516020818303038152906040528051906020012060001c600881905550600854905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc190611d25565b60405180910390fd5b60006001600280549050600854610de1919061193b565b610deb919061199b565b90506002600182610dfc9190611e46565b81548110610e0d57610e0c611e7a565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610e7d573d6000803e3d6000fd5b506002600182610e8d9190611e46565b81548110610e9e57610e9d611e7a565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060036000815480929190610f2f90611c90565b9190505550600067ffffffffffffffff811115610f4f57610f4e611ea9565b5b604051908082528060200260200182016040528015610f7d5781602001602082028036833780820191505090505b5060029080519060200190610f939291906113f0565b505050565b60035481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90611d25565b60405180910390fd5b61107c610cdc565b50565b60006006547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110dd91906117bf565b602060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111e9190611eed565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115690611f66565b60405180910390fd5b61116d600554600654611231565b905090565b600a5481565b600e6020528060005260406000206000915090505481565b600281815481106111a057600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001816000016000828254019250508190555050565b600081600001549050919050565b806008819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016112a5929190611f86565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016112d293929190612048565b6020604051808303816000875af11580156112f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131591906120be565b5060006113378460003060008089815260200190815260200160002054611381565b9050600160008086815260200190815260200160002054611358919061199b565b6000808681526020019081526020016000208190555061137884826113bd565b91505092915050565b60008484848460405160200161139a94939291906120eb565b6040516020818303038152906040528051906020012060001c9050949350505050565b600082826040516020016113d2929190612151565b60405160208183030381529060405280519060200120905092915050565b828054828255906000526020600020908101928215611469579160200282015b828111156114685782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611410565b5b509050611476919061147a565b5090565b5b8082111561149357600081600090555060010161147b565b5090565b6000819050919050565b6114aa81611497565b82525050565b60006020820190506114c560008301846114a1565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114fb826114d0565b9050919050565b61150b816114f0565b811461151657600080fd5b50565b60008135905061152881611502565b92915050565b600060208284031215611544576115436114cb565b5b600061155284828501611519565b91505092915050565b61156481611497565b811461156f57600080fd5b50565b6000813590506115818161155b565b92915050565b60006020828403121561159d5761159c6114cb565b5b60006115ab84828501611572565b91505092915050565b60006115bf826114d0565b9050919050565b6115cf816115b4565b82525050565b60006020820190506115ea60008301846115c6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61162581611497565b82525050565b6000611637838361161c565b60208301905092915050565b6000602082019050919050565b600061165b826115f0565b61166581856115fb565b93506116708361160c565b8060005b838110156116a1578151611688888261162b565b975061169383611643565b925050600181019050611674565b5085935050505092915050565b600060208201905081810360008301526116c88184611650565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611705816115b4565b82525050565b600061171783836116fc565b60208301905092915050565b6000602082019050919050565b600061173b826116d0565b61174581856116db565b9350611750836116ec565b8060005b83811015611781578151611768888261170b565b975061177383611723565b925050600181019050611754565b5085935050505092915050565b600060208201905081810360008301526117a88184611730565b905092915050565b6117b9816114f0565b82525050565b60006020820190506117d460008301846117b0565b92915050565b6000819050919050565b6117ed816117da565b81146117f857600080fd5b50565b60008135905061180a816117e4565b92915050565b60008060408385031215611827576118266114cb565b5b6000611835858286016117fb565b925050602061184685828601611572565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106118905761188f611850565b5b50565b60008190506118a18261187f565b919050565b60006118b182611893565b9050919050565b6118c1816118a6565b82525050565b60006020820190506118dc60008301846118b8565b92915050565b6118eb816117da565b82525050565b600060208201905061190660008301846118e2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061194682611497565b915061195183611497565b9250826119615761196061190c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119a682611497565b91506119b183611497565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156119e6576119e561196c565b5b828201905092915050565b600082825260208201905092915050565b7f526166666c65206973206e6f7420696e2074686520636f72726563742073746160008201527f7465000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a5e6022836119f1565b9150611a6982611a02565b604082019050919050565b60006020820190508181036000830152611a8d81611a51565b9050919050565b7f596f75206d75737420776169742035206d696e75746573206265666f7265206560008201527f6e746572696e672074686520726166666c6520616761696e0000000000000000602082015250565b6000611af06038836119f1565b9150611afb82611a94565b604082019050919050565b60006020820190508181036000830152611b1f81611ae3565b9050919050565b7f526166666c652069732066756c6c000000000000000000000000000000000000600082015250565b6000611b5c600e836119f1565b9150611b6782611b26565b602082019050919050565b60006020820190508181036000830152611b8b81611b4f565b9050919050565b7f596f752068617665207265616368656420796f7572206d6178696d756d20656e60008201527f7472696573000000000000000000000000000000000000000000000000000000602082015250565b6000611bee6025836119f1565b9150611bf982611b92565b604082019050919050565b60006020820190508181036000830152611c1d81611be1565b9050919050565b7f4d696e696d756d20656e74727920666565206e6f74206d657400000000000000600082015250565b6000611c5a6019836119f1565b9150611c6582611c24565b602082019050919050565b60006020820190508181036000830152611c8981611c4d565b9050919050565b6000611c9b82611497565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611cce57611ccd61196c565b5b600182019050919050565b7f4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e600082015250565b6000611d0f6020836119f1565b9150611d1a82611cd9565b602082019050919050565b60006020820190508181036000830152611d3e81611d02565b9050919050565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b6000611d7b601f836119f1565b9150611d8682611d45565b602082019050919050565b60006020820190508181036000830152611daa81611d6e565b9050919050565b60008160601b9050919050565b6000611dc982611db1565b9050919050565b6000611ddb82611dbe565b9050919050565b611df3611dee826114f0565b611dd0565b82525050565b6000819050919050565b611e14611e0f82611497565b611df9565b82525050565b6000611e268285611de2565b601482019150611e368284611e03565b6020820191508190509392505050565b6000611e5182611497565b9150611e5c83611497565b925082821015611e6f57611e6e61196c565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611ee78161155b565b92915050565b600060208284031215611f0357611f026114cb565b5b6000611f1184828501611ed8565b91505092915050565b7f4e6f7420656e6f756768204c494e4b20696e20636f6e74726163740000000000600082015250565b6000611f50601b836119f1565b9150611f5b82611f1a565b602082019050919050565b60006020820190508181036000830152611f7f81611f43565b9050919050565b6000604082019050611f9b60008301856118e2565b611fa860208301846114a1565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fe9578082015181840152602081019050611fce565b83811115611ff8576000848401525b50505050565b6000601f19601f8301169050919050565b600061201a82611faf565b6120248185611fba565b9350612034818560208601611fcb565b61203d81611ffe565b840191505092915050565b600060608201905061205d60008301866117b0565b61206a60208301856114a1565b818103604083015261207c818461200f565b9050949350505050565b60008115159050919050565b61209b81612086565b81146120a657600080fd5b50565b6000815190506120b881612092565b92915050565b6000602082840312156120d4576120d36114cb565b5b60006120e2848285016120a9565b91505092915050565b600060808201905061210060008301876118e2565b61210d60208301866114a1565b61211a60408301856117b0565b61212760608301846114a1565b95945050505050565b6000819050919050565b61214b612146826117da565b612130565b82525050565b600061215d828561213a565b60208201915061216d8284611e03565b602082019150819050939250505056fea264697066735822122076a268bc123112a333e7db9f0a6b9dc9278f621d98ce1e1ae3bbed4711b87dec64736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xCD7688C6 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCD7688C6 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0xF23F3BA5 EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xF5E365D2 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF71D96CB EQ PUSH2 0x50F JUMPI DUP1 PUSH4 0xF98E6B91 EQ PUSH2 0x54C JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x94985DDD EQ PUSH2 0x355 JUMPI DUP1 PUSH4 0x9C6F87E9 EQ PUSH2 0x37E JUMPI DUP1 PUSH4 0xA5C0449F EQ PUSH2 0x3A9 JUMPI DUP1 PUSH4 0xB375603C EQ PUSH2 0x3D2 JUMPI DUP1 PUSH4 0xB5C255D5 EQ PUSH2 0x3FD JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x43A JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x4ED02622 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x5D495AEA EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0x8B5B9CCC EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2FF JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x32A JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0x1D84720A EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x23413198 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x2CFCC539 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x3AAE0E07 EQ PUSH2 0x1ED JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0x22A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x589 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x190 PUSH2 0x591 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1CD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C8 SWAP2 SWAP1 PUSH2 0x152E JUMP JUMPDEST PUSH2 0x5CD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EB PUSH2 0x616 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x214 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x9C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x221 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23F PUSH2 0xA00 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24C SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26A PUSH2 0xA06 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x277 SWAP2 SWAP1 PUSH2 0x16AE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A2 SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xA5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B4 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D2 PUSH2 0xA82 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E9 PUSH2 0xB1D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2F6 SWAP2 SWAP1 PUSH2 0x178E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x314 PUSH2 0xBAB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x321 SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33F PUSH2 0xBD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x34C SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x361 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x377 SWAP2 SWAP1 PUSH2 0x1810 JUMP JUMPDEST PUSH2 0xC40 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x393 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3A0 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3CB SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xD3A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3E7 PUSH2 0xF98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F4 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x424 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x41F SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0xF9E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x431 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44F PUSH2 0xFD1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45C SWAP2 SWAP1 PUSH2 0x18C7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x47A PUSH2 0xFE4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x491 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x49E SWAP2 SWAP1 PUSH2 0x18F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BC PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4C9 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4F4 SWAP2 SWAP1 PUSH2 0x152E JUMP JUMPDEST PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x506 SWAP2 SWAP1 PUSH2 0x14B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x536 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x531 SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x1190 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x543 SWAP2 SWAP1 PUSH2 0x15D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x558 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x573 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x56E SWAP2 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH2 0x11CF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x580 SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD GT ISZERO PUSH2 0x5C9 JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0xB DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0x5B4 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0x5BE SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP PUSH2 0x5CA JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x62B JUMPI PUSH2 0x62A PUSH2 0x1850 JUMP JUMPDEST JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x64D JUMPI PUSH2 0x64C PUSH2 0x1850 JUMP JUMPDEST JUMPDEST EQ PUSH2 0x68D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x684 SWAP1 PUSH2 0x1A74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST TIMESTAMP PUSH2 0x12C PUSH1 0xE PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x6DB SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST LT PUSH2 0x71B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x712 SWAP1 PUSH2 0x1B06 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB DUP1 SLOAD SWAP1 POP LT PUSH2 0x764 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x75B SWAP1 PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0xD PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x7E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7DD SWAP1 PUSH2 0x1C04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH7 0x2386F26FC10000 CALLVALUE LT ISZERO PUSH2 0x830 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x827 SWAP1 PUSH2 0x1C70 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x83C PUSH1 0x9 PUSH2 0x1218 JUMP JUMPDEST SWAP1 POP PUSH1 0xB 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 CALLER PUSH1 0xC PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x2 CALLER 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 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP TIMESTAMP PUSH1 0xE PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0xD 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 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x9B0 SWAP1 PUSH2 0x1C90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x9BF PUSH1 0x9 PUSH2 0x1202 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB 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 0xA54 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 0xA40 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xB DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA6E 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 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xB12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB09 SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB1A PUSH2 0x107F JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 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 0xBA1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xB57 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x8 SLOAD GT ISZERO PUSH2 0xC3C JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0xB DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xBF4 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0xBFE SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP PUSH1 0xC PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP POP PUSH2 0xC3D JUMP JUMPDEST JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xCCE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCC5 SWAP1 PUSH2 0x1D91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xCD8 DUP3 DUP3 PUSH2 0x1226 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND TIMESTAMP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD13 SWAP3 SWAP2 SWAP1 PUSH2 0x1E1A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH1 0x8 DUP2 SWAP1 SSTORE POP PUSH1 0x8 SLOAD SWAP1 POP SWAP1 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 0xDCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC1 SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xDE1 SWAP2 SWAP1 PUSH2 0x193B JUMP JUMPDEST PUSH2 0xDEB SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xDFC SWAP2 SWAP1 PUSH2 0x1E46 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xE0D JUMPI PUSH2 0xE0C PUSH2 0x1E7A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xE7D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xE8D SWAP2 SWAP1 PUSH2 0x1E46 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xE9E JUMPI PUSH2 0xE9D PUSH2 0x1E7A JUMP JUMPDEST JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 PUSH1 0x3 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x3 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0xF2F SWAP1 PUSH2 0x1C90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF4F JUMPI PUSH2 0xF4E PUSH2 0x1EA9 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 0xF7D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF93 SWAP3 SWAP2 SWAP1 PUSH2 0x13F0 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 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 0x1074 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x106B SWAP1 PUSH2 0x1D25 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x107C PUSH2 0xCDC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x10DD SWAP2 SWAP1 PUSH2 0x17BF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x10FA 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 0x111E SWAP2 SWAP1 PUSH2 0x1EED JUMP JUMPDEST LT ISZERO PUSH2 0x115F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1156 SWAP1 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x116D PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD PUSH2 0x1231 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x11A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x8 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 PUSH32 0x0 DUP5 DUP7 PUSH1 0x0 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x12A5 SWAP3 SWAP2 SWAP1 PUSH2 0x1F86 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 0x12D2 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x12F1 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 0x1315 SWAP2 SWAP1 PUSH2 0x20BE JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1337 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1381 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1358 SWAP2 SWAP1 PUSH2 0x199B JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1378 DUP5 DUP3 PUSH2 0x13BD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x139A SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x20EB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x13D2 SWAP3 SWAP2 SWAP1 PUSH2 0x2151 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 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 0x1469 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1468 JUMPI DUP3 MLOAD DUP3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1410 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1476 SWAP2 SWAP1 PUSH2 0x147A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1493 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x147B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14AA DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14C5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14FB DUP3 PUSH2 0x14D0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x150B DUP2 PUSH2 0x14F0 JUMP JUMPDEST DUP2 EQ PUSH2 0x1516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1528 DUP2 PUSH2 0x1502 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1544 JUMPI PUSH2 0x1543 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1552 DUP5 DUP3 DUP6 ADD PUSH2 0x1519 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1564 DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP2 EQ PUSH2 0x156F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1581 DUP2 PUSH2 0x155B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x159D JUMPI PUSH2 0x159C PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x15AB DUP5 DUP3 DUP6 ADD PUSH2 0x1572 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15BF DUP3 PUSH2 0x14D0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15CF DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x15EA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x15C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1625 DUP2 PUSH2 0x1497 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1637 DUP4 DUP4 PUSH2 0x161C 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 0x165B DUP3 PUSH2 0x15F0 JUMP JUMPDEST PUSH2 0x1665 DUP2 DUP6 PUSH2 0x15FB JUMP JUMPDEST SWAP4 POP PUSH2 0x1670 DUP4 PUSH2 0x160C JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x16A1 JUMPI DUP2 MLOAD PUSH2 0x1688 DUP9 DUP3 PUSH2 0x162B JUMP JUMPDEST SWAP8 POP PUSH2 0x1693 DUP4 PUSH2 0x1643 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1674 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x16C8 DUP2 DUP5 PUSH2 0x1650 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1705 DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1717 DUP4 DUP4 PUSH2 0x16FC 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 0x173B DUP3 PUSH2 0x16D0 JUMP JUMPDEST PUSH2 0x1745 DUP2 DUP6 PUSH2 0x16DB JUMP JUMPDEST SWAP4 POP PUSH2 0x1750 DUP4 PUSH2 0x16EC JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1781 JUMPI DUP2 MLOAD PUSH2 0x1768 DUP9 DUP3 PUSH2 0x170B JUMP JUMPDEST SWAP8 POP PUSH2 0x1773 DUP4 PUSH2 0x1723 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1754 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x17A8 DUP2 DUP5 PUSH2 0x1730 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17B9 DUP2 PUSH2 0x14F0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17D4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17ED DUP2 PUSH2 0x17DA JUMP JUMPDEST DUP2 EQ PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x180A DUP2 PUSH2 0x17E4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1827 JUMPI PUSH2 0x1826 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1835 DUP6 DUP3 DUP7 ADD PUSH2 0x17FB JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1846 DUP6 DUP3 DUP7 ADD PUSH2 0x1572 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x1890 JUMPI PUSH2 0x188F PUSH2 0x1850 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x18A1 DUP3 PUSH2 0x187F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18B1 DUP3 PUSH2 0x1893 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18C1 DUP2 PUSH2 0x18A6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x18DC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18B8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x18EB DUP2 PUSH2 0x17DA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1906 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x18E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1946 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x1951 DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x1961 JUMPI PUSH2 0x1960 PUSH2 0x190C 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 0x19A6 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x19B1 DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x19E6 JUMPI PUSH2 0x19E5 PUSH2 0x196C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x526166666C65206973206E6F7420696E2074686520636F727265637420737461 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7465000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A5E PUSH1 0x22 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A69 DUP3 PUSH2 0x1A02 JUMP JUMPDEST PUSH1 0x40 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 0x1A8D DUP2 PUSH2 0x1A51 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F75206D75737420776169742035206D696E75746573206265666F72652065 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E746572696E672074686520726166666C6520616761696E0000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AF0 PUSH1 0x38 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1AFB DUP3 PUSH2 0x1A94 JUMP JUMPDEST PUSH1 0x40 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 0x1B1F DUP2 PUSH2 0x1AE3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x526166666C652069732066756C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B5C PUSH1 0xE DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1B67 DUP3 PUSH2 0x1B26 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 0x1B8B DUP2 PUSH2 0x1B4F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F752068617665207265616368656420796F7572206D6178696D756D20656E PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7472696573000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BEE PUSH1 0x25 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1BF9 DUP3 PUSH2 0x1B92 JUMP JUMPDEST PUSH1 0x40 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 0x1C1D DUP2 PUSH2 0x1BE1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4D696E696D756D20656E74727920666565206E6F74206D657400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5A PUSH1 0x19 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1C65 DUP3 PUSH2 0x1C24 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 0x1C89 DUP2 PUSH2 0x1C4D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C9B DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1CCE JUMPI PUSH2 0x1CCD PUSH2 0x196C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2072756E20746869732066756E6374696F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D0F PUSH1 0x20 DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D1A DUP3 PUSH2 0x1CD9 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 0x1D3E DUP2 PUSH2 0x1D02 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D7B PUSH1 0x1F DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D86 DUP3 PUSH2 0x1D45 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 0x1DAA DUP2 PUSH2 0x1D6E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x60 SHL SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DC9 DUP3 PUSH2 0x1DB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DDB DUP3 PUSH2 0x1DBE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DF3 PUSH2 0x1DEE DUP3 PUSH2 0x14F0 JUMP JUMPDEST PUSH2 0x1DD0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1E14 PUSH2 0x1E0F DUP3 PUSH2 0x1497 JUMP JUMPDEST PUSH2 0x1DF9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E26 DUP3 DUP6 PUSH2 0x1DE2 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x1E36 DUP3 DUP5 PUSH2 0x1E03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E51 DUP3 PUSH2 0x1497 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E5C DUP4 PUSH2 0x1497 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1E6F JUMPI PUSH2 0x1E6E PUSH2 0x196C JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP 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 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1EE7 DUP2 PUSH2 0x155B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F03 JUMPI PUSH2 0x1F02 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F11 DUP5 DUP3 DUP6 ADD PUSH2 0x1ED8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B20696E20636F6E74726163740000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F50 PUSH1 0x1B DUP4 PUSH2 0x19F1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F5B DUP3 PUSH2 0x1F1A 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 0x1F7F DUP2 PUSH2 0x1F43 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1F9B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x18E2 JUMP JUMPDEST PUSH2 0x1FA8 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x14A1 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 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1FE9 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1FCE JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1FF8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x201A DUP3 PUSH2 0x1FAF JUMP JUMPDEST PUSH2 0x2024 DUP2 DUP6 PUSH2 0x1FBA JUMP JUMPDEST SWAP4 POP PUSH2 0x2034 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1FCB JUMP JUMPDEST PUSH2 0x203D DUP2 PUSH2 0x1FFE JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x205D PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x17B0 JUMP JUMPDEST PUSH2 0x206A PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x14A1 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x207C DUP2 DUP5 PUSH2 0x200F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x209B DUP2 PUSH2 0x2086 JUMP JUMPDEST DUP2 EQ PUSH2 0x20A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x20B8 DUP2 PUSH2 0x2092 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D4 JUMPI PUSH2 0x20D3 PUSH2 0x14CB JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x20E2 DUP5 DUP3 DUP6 ADD PUSH2 0x20A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x2100 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x18E2 JUMP JUMPDEST PUSH2 0x210D PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x14A1 JUMP JUMPDEST PUSH2 0x211A PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x17B0 JUMP JUMPDEST PUSH2 0x2127 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x14A1 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x214B PUSH2 0x2146 DUP3 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x2130 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x215D DUP3 DUP6 PUSH2 0x213A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x216D DUP3 DUP5 PUSH2 0x1E03 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH23 0xA268BC123112A333E7DB9F0A6B9DC9278F621D98CE1E1A 0xE3 0xBB 0xED SELFBALANCE GT 0xB8 PUSH30 0xEC64736F6C634300080B0033000000000000000000000000000000000000 ", | |
| "sourceMap": "231:5470:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2436:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4640:193;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4251:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2893:834;;;:::i;:::-;;2276:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;719:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2669:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1043:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4132:73;;;;;;;;;;;;;:::i;:::-;;2563:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;306:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4377:257;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9576:207:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3772:173:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:450;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;370:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;396:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;684:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3951:83;;;;;;;;;;;;;:::i;:::-;;1846:203;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;864:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1246:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;332:32;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1071:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2436:94;2479:4;2502:21;2495:28;;2436:94;:::o;4640:193::-;4691:4;4726:1;4711:12;;:16;4707:119;;;4743:10;4788:1;4772:7;:14;;;;4757:12;;:29;;;;:::i;:::-;4756:33;;;;:::i;:::-;4743:46;;4810:5;4803:12;;;;;4707:119;4640:193;;:::o;4251:120::-;4315:4;4338:17;:26;4356:7;4338:26;;;;;;;;;;;;;;;;4331:33;;4251:120;;;:::o;2893:834::-;2939:16;5538:6;5529:15;;;;;;;;:::i;:::-;;:5;;;;;;;;;;;:15;;;;;;;;:::i;:::-;;;5521:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;3056:15:::1;3044:9;3016:13;:25;3030:10;3016:25;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:55;2995:158;;;;;;;;;;;;:::i;:::-;;;;;;;;;3197:10;;3180:7;:14;;;;:27;3172:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3324:1;3292:17;:29;3310:10;3292:29;;;;;;;;;;;;;;;;:33;3284:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;3400:9;3387;:22;;3379:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3450:7;3460:20;:10;:18;:20::i;:::-;3450:30;;3491:7;3504:2;3491:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:10;3517:14;:18;3532:2;3517:18;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;3559:7;3580:10;3559:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3631:15;3603:13;:25;3617:10;3603:25;;;;;;;;;;;;;;;:43;;;;3657:17;:29;3675:10;3657:29;;;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;;;;;;3698:22;:10;:20;:22::i;:::-;2957:770;2893:834:::0;:::o;2276:131::-;2341:15;2375:13;:25;2389:10;2375:25;;;;;;;;;;;;;;;;;;;;;2368:32;;2276:131;;;:::o;719:24::-;;;;:::o;2669:89::-;2712:13;2744:7;2737:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2669:89;:::o;1043:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4132:73::-;5408:5;;;;;;;;;;;5394:19;;:10;:19;;;5386:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4181:17:::1;:15;:17::i;:::-;;4132:73::o:0;2563:100::-;2606:24;2649:7;2642:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:100;:::o;306:20::-;;;;;;;;;;;;;:::o;4377:257::-;4419:7;4457:1;4442:12;;:16;4438:189;;;4474:10;4519:1;4503:7;:14;;;;4488:12;;:29;;;;:::i;:::-;4487:33;;;;:::i;:::-;4474:46;;4579:14;:21;4594:5;4579:21;;;;;;;;;;;;;;;;;;;;;4572:28;;;;;4438:189;4377:257;;:::o;9576:207:0:-;9682:14;9668:28;;:10;:28;;;9660:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9738:40;9756:9;9767:10;9738:17;:40::i;:::-;9576:207;;:::o;3772:173:5:-;3821:4;3884:5;;;;;;;;;;;3891:15;3867:40;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3857:51;;;;;;3852:57;;3837:12;:72;;;;3926:12;;3919:19;;3772:173;:::o;4839:450::-;5408:5;;;;;;;;;;;5394:19;;:10;:19;;;5386:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4900:10:::1;4945:1;4929:7;:14;;;;4914:12;;:29;;;;:::i;:::-;4913:33;;;;:::i;:::-;4900:46;;5036:7;5050:1;5044:5;:7;;;;:::i;:::-;5036:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:25;;:34;5062:7;5036:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;5149:7;5163:1;5157:5;:7;;;;:::i;:::-;5149:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5123:13;:23;5137:8;;5123:23;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;5175:8;;:10;;;;;;;;;:::i;:::-;;;;;;5280:1;5258:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5248:7;:34;;;;;;;;;;;;:::i;:::-;;4889:400;4839:450:::0;:::o;370:20::-;;;;:::o;396:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;684:24::-;;;;;;;;;;;;;:::o;3951:83::-;5408:5;;;;;;;;;;;5394:19;;:10;:19;;;5386:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4004:23:::1;:21;:23::i;:::-;;3951:83::o:0;1846:203::-;1889:17;1959:3;;1926:4;:14;;;1949:4;1926:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;1918:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;2011:31;2029:7;;2038:3;;2011:17;:31::i;:::-;2004:38;;1846:203;:::o;864:22::-;;;;:::o;1246:45::-;;;;;;;;;;;;;;;;;:::o;332:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1071:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;945:123:3:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;2120:150:5:-;2229:10;2214:12;:25;;;;2120:150;;:::o;7732:1020:0:-;7809:17;7834:4;:20;;;7855:14;7871:4;7888:8;6589:1;7877:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7834:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8152:15;8170:82;8187:8;6589:1;8228:4;8235:6;:16;8242:8;8235:16;;;;;;;;;;;;8170;:82::i;:::-;8152:100;;8701:1;8682:6;:16;8689:8;8682:16;;;;;;;;;;;;:20;;;;:::i;:::-;8663:6;:16;8670:8;8663:16;;;;;;;;;;;:39;;;;8715:32;8729:8;8739:7;8715:13;:32::i;:::-;8708:39;;;7732:1020;;;;:::o;796:240:1:-;938:7;989:8;999:9;1010:10;1022:6;978:51;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;968:62;;;;;;960:71;;953:78;;796:240;;;;;;:::o;1416:166::-;1503:7;1552:8;1562:13;1535:41;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1525:52;;;;;;1518:59;;1416:166;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:77:6:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:329::-;1943:6;1992:2;1980:9;1971:7;1967:23;1963:32;1960:119;;;1998:79;;:::i;:::-;1960:119;2118:1;2143:53;2188:7;2179:6;2168:9;2164:22;2143:53;:::i;:::-;2133:63;;2089:117;1884:329;;;;:::o;2219:104::-;2264:7;2293:24;2311:5;2293:24;:::i;:::-;2282:35;;2219:104;;;:::o;2329:142::-;2432:32;2458:5;2432:32;:::i;:::-;2427:3;2420:45;2329:142;;:::o;2477:254::-;2586:4;2624:2;2613:9;2609:18;2601:26;;2637:87;2721:1;2710:9;2706:17;2697:6;2637:87;:::i;:::-;2477:254;;;;:::o;2737:114::-;2804:6;2838:5;2832:12;2822:22;;2737:114;;;:::o;2857:184::-;2956:11;2990:6;2985:3;2978:19;3030:4;3025:3;3021:14;3006:29;;2857:184;;;;:::o;3047:132::-;3114:4;3137:3;3129:11;;3167:4;3162:3;3158:14;3150:22;;3047:132;;;:::o;3185:108::-;3262:24;3280:5;3262:24;:::i;:::-;3257:3;3250:37;3185:108;;:::o;3299:179::-;3368:10;3389:46;3431:3;3423:6;3389:46;:::i;:::-;3467:4;3462:3;3458:14;3444:28;;3299:179;;;;:::o;3484:113::-;3554:4;3586;3581:3;3577:14;3569:22;;3484:113;;;:::o;3633:732::-;3752:3;3781:54;3829:5;3781:54;:::i;:::-;3851:86;3930:6;3925:3;3851:86;:::i;:::-;3844:93;;3961:56;4011:5;3961:56;:::i;:::-;4040:7;4071:1;4056:284;4081:6;4078:1;4075:13;4056:284;;;4157:6;4151:13;4184:63;4243:3;4228:13;4184:63;:::i;:::-;4177:70;;4270:60;4323:6;4270:60;:::i;:::-;4260:70;;4116:224;4103:1;4100;4096:9;4091:14;;4056:284;;;4060:14;4356:3;4349:10;;3757:608;;;3633:732;;;;:::o;4371:373::-;4514:4;4552:2;4541:9;4537:18;4529:26;;4601:9;4595:4;4591:20;4587:1;4576:9;4572:17;4565:47;4629:108;4732:4;4723:6;4629:108;:::i;:::-;4621:116;;4371:373;;;;:::o;4750:122::-;4825:6;4859:5;4853:12;4843:22;;4750:122;;;:::o;4878:192::-;4985:11;5019:6;5014:3;5007:19;5059:4;5054:3;5050:14;5035:29;;4878:192;;;;:::o;5076:140::-;5151:4;5174:3;5166:11;;5204:4;5199:3;5195:14;5187:22;;5076:140;;;:::o;5222:132::-;5315:32;5341:5;5315:32;:::i;:::-;5310:3;5303:45;5222:132;;:::o;5360:211::-;5445:10;5466:62;5524:3;5516:6;5466:62;:::i;:::-;5560:4;5555:3;5551:14;5537:28;;5360:211;;;;:::o;5577:121::-;5655:4;5687;5682:3;5678:14;5670:22;;5577:121;;;:::o;5750:796::-;5885:3;5914:62;5970:5;5914:62;:::i;:::-;5992:94;6079:6;6074:3;5992:94;:::i;:::-;5985:101;;6110:64;6168:5;6110:64;:::i;:::-;6197:7;6228:1;6213:308;6238:6;6235:1;6232:13;6213:308;;;6314:6;6308:13;6341:79;6416:3;6401:13;6341:79;:::i;:::-;6334:86;;6443:68;6504:6;6443:68;:::i;:::-;6433:78;;6273:248;6260:1;6257;6253:9;6248:14;;6213:308;;;6217:14;6537:3;6530:10;;5890:656;;;5750:796;;;;:::o;6552:405::-;6711:4;6749:2;6738:9;6734:18;6726:26;;6798:9;6792:4;6788:20;6784:1;6773:9;6769:17;6762:47;6826:124;6945:4;6936:6;6826:124;:::i;:::-;6818:132;;6552:405;;;;:::o;6963:118::-;7050:24;7068:5;7050:24;:::i;:::-;7045:3;7038:37;6963:118;;:::o;7087:222::-;7180:4;7218:2;7207:9;7203:18;7195:26;;7231:71;7299:1;7288:9;7284:17;7275:6;7231:71;:::i;:::-;7087:222;;;;:::o;7315:77::-;7352:7;7381:5;7370:16;;7315:77;;;:::o;7398:122::-;7471:24;7489:5;7471:24;:::i;:::-;7464:5;7461:35;7451:63;;7510:1;7507;7500:12;7451:63;7398:122;:::o;7526:139::-;7572:5;7610:6;7597:20;7588:29;;7626:33;7653:5;7626:33;:::i;:::-;7526:139;;;;:::o;7671:474::-;7739:6;7747;7796:2;7784:9;7775:7;7771:23;7767:32;7764:119;;;7802:79;;:::i;:::-;7764:119;7922:1;7947:53;7992:7;7983:6;7972:9;7968:22;7947:53;:::i;:::-;7937:63;;7893:117;8049:2;8075:53;8120:7;8111:6;8100:9;8096:22;8075:53;:::i;:::-;8065:63;;8020:118;7671:474;;;;;:::o;8151:180::-;8199:77;8196:1;8189:88;8296:4;8293:1;8286:15;8320:4;8317:1;8310:15;8337:120;8425:1;8418:5;8415:12;8405:46;;8431:18;;:::i;:::-;8405:46;8337:120;:::o;8463:141::-;8515:7;8544:5;8533:16;;8550:48;8592:5;8550:48;:::i;:::-;8463:141;;;:::o;8610:::-;8673:9;8706:39;8739:5;8706:39;:::i;:::-;8693:52;;8610:141;;;:::o;8757:157::-;8857:50;8901:5;8857:50;:::i;:::-;8852:3;8845:63;8757:157;;:::o;8920:248::-;9026:4;9064:2;9053:9;9049:18;9041:26;;9077:84;9158:1;9147:9;9143:17;9134:6;9077:84;:::i;:::-;8920:248;;;;:::o;9174:118::-;9261:24;9279:5;9261:24;:::i;:::-;9256:3;9249:37;9174:118;;:::o;9298:222::-;9391:4;9429:2;9418:9;9414:18;9406:26;;9442:71;9510:1;9499:9;9495:17;9486:6;9442:71;:::i;:::-;9298:222;;;;:::o;9526:180::-;9574:77;9571:1;9564:88;9671:4;9668:1;9661:15;9695:4;9692:1;9685:15;9712:176;9744:1;9761:20;9779:1;9761:20;:::i;:::-;9756:25;;9795:20;9813:1;9795:20;:::i;:::-;9790:25;;9834:1;9824:35;;9839:18;;:::i;:::-;9824:35;9880:1;9877;9873:9;9868:14;;9712:176;;;;:::o;9894:180::-;9942:77;9939:1;9932:88;10039:4;10036:1;10029:15;10063:4;10060:1;10053:15;10080:305;10120:3;10139:20;10157:1;10139:20;:::i;:::-;10134:25;;10173:20;10191:1;10173:20;:::i;:::-;10168:25;;10327:1;10259:66;10255:74;10252:1;10249:81;10246:107;;;10333:18;;:::i;:::-;10246:107;10377:1;10374;10370:9;10363:16;;10080:305;;;;:::o;10391:169::-;10475:11;10509:6;10504:3;10497:19;10549:4;10544:3;10540:14;10525:29;;10391:169;;;;:::o;10566:221::-;10706:34;10702:1;10694:6;10690:14;10683:58;10775:4;10770:2;10762:6;10758:15;10751:29;10566:221;:::o;10793:366::-;10935:3;10956:67;11020:2;11015:3;10956:67;:::i;:::-;10949:74;;11032:93;11121:3;11032:93;:::i;:::-;11150:2;11145:3;11141:12;11134:19;;10793:366;;;:::o;11165:419::-;11331:4;11369:2;11358:9;11354:18;11346:26;;11418:9;11412:4;11408:20;11404:1;11393:9;11389:17;11382:47;11446:131;11572:4;11446:131;:::i;:::-;11438:139;;11165:419;;;:::o;11590:243::-;11730:34;11726:1;11718:6;11714:14;11707:58;11799:26;11794:2;11786:6;11782:15;11775:51;11590:243;:::o;11839:366::-;11981:3;12002:67;12066:2;12061:3;12002:67;:::i;:::-;11995:74;;12078:93;12167:3;12078:93;:::i;:::-;12196:2;12191:3;12187:12;12180:19;;11839:366;;;:::o;12211:419::-;12377:4;12415:2;12404:9;12400:18;12392:26;;12464:9;12458:4;12454:20;12450:1;12439:9;12435:17;12428:47;12492:131;12618:4;12492:131;:::i;:::-;12484:139;;12211:419;;;:::o;12636:164::-;12776:16;12772:1;12764:6;12760:14;12753:40;12636:164;:::o;12806:366::-;12948:3;12969:67;13033:2;13028:3;12969:67;:::i;:::-;12962:74;;13045:93;13134:3;13045:93;:::i;:::-;13163:2;13158:3;13154:12;13147:19;;12806:366;;;:::o;13178:419::-;13344:4;13382:2;13371:9;13367:18;13359:26;;13431:9;13425:4;13421:20;13417:1;13406:9;13402:17;13395:47;13459:131;13585:4;13459:131;:::i;:::-;13451:139;;13178:419;;;:::o;13603:224::-;13743:34;13739:1;13731:6;13727:14;13720:58;13812:7;13807:2;13799:6;13795:15;13788:32;13603:224;:::o;13833:366::-;13975:3;13996:67;14060:2;14055:3;13996:67;:::i;:::-;13989:74;;14072:93;14161:3;14072:93;:::i;:::-;14190:2;14185:3;14181:12;14174:19;;13833:366;;;:::o;14205:419::-;14371:4;14409:2;14398:9;14394:18;14386:26;;14458:9;14452:4;14448:20;14444:1;14433:9;14429:17;14422:47;14486:131;14612:4;14486:131;:::i;:::-;14478:139;;14205:419;;;:::o;14630:175::-;14770:27;14766:1;14758:6;14754:14;14747:51;14630:175;:::o;14811:366::-;14953:3;14974:67;15038:2;15033:3;14974:67;:::i;:::-;14967:74;;15050:93;15139:3;15050:93;:::i;:::-;15168:2;15163:3;15159:12;15152:19;;14811:366;;;:::o;15183:419::-;15349:4;15387:2;15376:9;15372:18;15364:26;;15436:9;15430:4;15426:20;15422:1;15411:9;15407:17;15400:47;15464:131;15590:4;15464:131;:::i;:::-;15456:139;;15183:419;;;:::o;15608:233::-;15647:3;15670:24;15688:5;15670:24;:::i;:::-;15661:33;;15716:66;15709:5;15706:77;15703:103;;;15786:18;;:::i;:::-;15703:103;15833:1;15826:5;15822:13;15815:20;;15608:233;;;:::o;15847:182::-;15987:34;15983:1;15975:6;15971:14;15964:58;15847:182;:::o;16035:366::-;16177:3;16198:67;16262:2;16257:3;16198:67;:::i;:::-;16191:74;;16274:93;16363:3;16274:93;:::i;:::-;16392:2;16387:3;16383:12;16376:19;;16035:366;;;:::o;16407:419::-;16573:4;16611:2;16600:9;16596:18;16588:26;;16660:9;16654:4;16650:20;16646:1;16635:9;16631:17;16624:47;16688:131;16814:4;16688:131;:::i;:::-;16680:139;;16407:419;;;:::o;16832:181::-;16972:33;16968:1;16960:6;16956:14;16949:57;16832:181;:::o;17019:366::-;17161:3;17182:67;17246:2;17241:3;17182:67;:::i;:::-;17175:74;;17258:93;17347:3;17258:93;:::i;:::-;17376:2;17371:3;17367:12;17360:19;;17019:366;;;:::o;17391:419::-;17557:4;17595:2;17584:9;17580:18;17572:26;;17644:9;17638:4;17634:20;17630:1;17619:9;17615:17;17608:47;17672:131;17798:4;17672:131;:::i;:::-;17664:139;;17391:419;;;:::o;17816:94::-;17849:8;17897:5;17893:2;17889:14;17868:35;;17816:94;;;:::o;17916:::-;17955:7;17984:20;17998:5;17984:20;:::i;:::-;17973:31;;17916:94;;;:::o;18016:100::-;18055:7;18084:26;18104:5;18084:26;:::i;:::-;18073:37;;18016:100;;;:::o;18122:157::-;18227:45;18247:24;18265:5;18247:24;:::i;:::-;18227:45;:::i;:::-;18222:3;18215:58;18122:157;;:::o;18285:79::-;18324:7;18353:5;18342:16;;18285:79;;;:::o;18370:157::-;18475:45;18495:24;18513:5;18495:24;:::i;:::-;18475:45;:::i;:::-;18470:3;18463:58;18370:157;;:::o;18533:397::-;18673:3;18688:75;18759:3;18750:6;18688:75;:::i;:::-;18788:2;18783:3;18779:12;18772:19;;18801:75;18872:3;18863:6;18801:75;:::i;:::-;18901:2;18896:3;18892:12;18885:19;;18921:3;18914:10;;18533:397;;;;;:::o;18936:191::-;18976:4;18996:20;19014:1;18996:20;:::i;:::-;18991:25;;19030:20;19048:1;19030:20;:::i;:::-;19025:25;;19069:1;19066;19063:8;19060:34;;;19074:18;;:::i;:::-;19060:34;19119:1;19116;19112:9;19104:17;;18936:191;;;;:::o;19133:180::-;19181:77;19178:1;19171:88;19278:4;19275:1;19268:15;19302:4;19299:1;19292:15;19319:180;19367:77;19364:1;19357:88;19464:4;19461:1;19454:15;19488:4;19485:1;19478:15;19505:143;19562:5;19593:6;19587:13;19578:22;;19609:33;19636:5;19609:33;:::i;:::-;19505:143;;;;:::o;19654:351::-;19724:6;19773:2;19761:9;19752:7;19748:23;19744:32;19741:119;;;19779:79;;:::i;:::-;19741:119;19899:1;19924:64;19980:7;19971:6;19960:9;19956:22;19924:64;:::i;:::-;19914:74;;19870:128;19654:351;;;;:::o;20011:177::-;20151:29;20147:1;20139:6;20135:14;20128:53;20011:177;:::o;20194:366::-;20336:3;20357:67;20421:2;20416:3;20357:67;:::i;:::-;20350:74;;20433:93;20522:3;20433:93;:::i;:::-;20551:2;20546:3;20542:12;20535:19;;20194:366;;;:::o;20566:419::-;20732:4;20770:2;20759:9;20755:18;20747:26;;20819:9;20813:4;20809:20;20805:1;20794:9;20790:17;20783:47;20847:131;20973:4;20847:131;:::i;:::-;20839:139;;20566:419;;;:::o;20991:332::-;21112:4;21150:2;21139:9;21135:18;21127:26;;21163:71;21231:1;21220:9;21216:17;21207:6;21163:71;:::i;:::-;21244:72;21312:2;21301:9;21297:18;21288:6;21244:72;:::i;:::-;20991:332;;;;;:::o;21329:98::-;21380:6;21414:5;21408:12;21398:22;;21329:98;;;:::o;21433:168::-;21516:11;21550:6;21545:3;21538:19;21590:4;21585:3;21581:14;21566:29;;21433:168;;;;:::o;21607:307::-;21675:1;21685:113;21699:6;21696:1;21693:13;21685:113;;;21784:1;21779:3;21775:11;21769:18;21765:1;21760:3;21756:11;21749:39;21721:2;21718:1;21714:10;21709:15;;21685:113;;;21816:6;21813:1;21810:13;21807:101;;;21896:1;21887:6;21882:3;21878:16;21871:27;21807:101;21656:258;21607:307;;;:::o;21920:102::-;21961:6;22012:2;22008:7;22003:2;21996:5;21992:14;21988:28;21978:38;;21920:102;;;:::o;22028:360::-;22114:3;22142:38;22174:5;22142:38;:::i;:::-;22196:70;22259:6;22254:3;22196:70;:::i;:::-;22189:77;;22275:52;22320:6;22315:3;22308:4;22301:5;22297:16;22275:52;:::i;:::-;22352:29;22374:6;22352:29;:::i;:::-;22347:3;22343:39;22336:46;;22118:270;22028:360;;;;:::o;22394:529::-;22561:4;22599:2;22588:9;22584:18;22576:26;;22612:71;22680:1;22669:9;22665:17;22656:6;22612:71;:::i;:::-;22693:72;22761:2;22750:9;22746:18;22737:6;22693:72;:::i;:::-;22812:9;22806:4;22802:20;22797:2;22786:9;22782:18;22775:48;22840:76;22911:4;22902:6;22840:76;:::i;:::-;22832:84;;22394:529;;;;;;:::o;22929:90::-;22963:7;23006:5;22999:13;22992:21;22981:32;;22929:90;;;:::o;23025:116::-;23095:21;23110:5;23095:21;:::i;:::-;23088:5;23085:32;23075:60;;23131:1;23128;23121:12;23075:60;23025:116;:::o;23147:137::-;23201:5;23232:6;23226:13;23217:22;;23248:30;23272:5;23248:30;:::i;:::-;23147:137;;;;:::o;23290:345::-;23357:6;23406:2;23394:9;23385:7;23381:23;23377:32;23374:119;;;23412:79;;:::i;:::-;23374:119;23532:1;23557:61;23610:7;23601:6;23590:9;23586:22;23557:61;:::i;:::-;23547:71;;23503:125;23290:345;;;;:::o;23641:553::-;23818:4;23856:3;23845:9;23841:19;23833:27;;23870:71;23938:1;23927:9;23923:17;23914:6;23870:71;:::i;:::-;23951:72;24019:2;24008:9;24004:18;23995:6;23951:72;:::i;:::-;24033;24101:2;24090:9;24086:18;24077:6;24033:72;:::i;:::-;24115;24183:2;24172:9;24168:18;24159:6;24115:72;:::i;:::-;23641:553;;;;;;;:::o;24200:79::-;24239:7;24268:5;24257:16;;24200:79;;;:::o;24285:157::-;24390:45;24410:24;24428:5;24410:24;:::i;:::-;24390:45;:::i;:::-;24385:3;24378:58;24285:157;;:::o;24448:397::-;24588:3;24603:75;24674:3;24665:6;24603:75;:::i;:::-;24703:2;24698:3;24694:12;24687:19;;24716:75;24787:3;24778:6;24716:75;:::i;:::-;24816:2;24811:3;24807:12;24800:19;;24836:3;24829:10;;24448:397;;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "1725400", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "enterRaffle()": "infinite", | |
| "getBalance()": "363", | |
| "getPlayerTickets(address)": "2909", | |
| "getPlayers()": "infinite", | |
| "getPseudoRandomNumber()": "infinite", | |
| "getRandomNumber()": "infinite", | |
| "getTickets()": "infinite", | |
| "getWinner()": "infinite", | |
| "getWinnerByRaffle(uint256)": "2977", | |
| "getWinningTicketId()": "infinite", | |
| "lastEntryTime(address)": "2902", | |
| "maxEntries()": "2495", | |
| "owner()": "2625", | |
| "payWinner(uint256)": "infinite", | |
| "pickWinner()": "infinite", | |
| "pickWinnerTest()": "29334", | |
| "players(uint256)": "5066", | |
| "raffleHistory(uint256)": "2950", | |
| "raffleId()": "2518", | |
| "randomResult()": "2563", | |
| "rawFulfillRandomness(bytes32,uint256)": "infinite", | |
| "state()": "2693", | |
| "ticketToPlayer(uint256)": "2971", | |
| "tickets(uint256)": "infinite" | |
| }, | |
| "internal": { | |
| "_changeState(enum StoryRaffle.RaffleState)": "infinite", | |
| "fulfillRandomness(bytes32,uint256)": "22127" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "enterRaffle()": "2cfcc539", | |
| "getBalance()": "12065fe0", | |
| "getPlayerTickets(address)": "23413198", | |
| "getPlayers()": "8b5b9ccc", | |
| "getPseudoRandomNumber()": "9c6f87e9", | |
| "getRandomNumber()": "dbdff2c1", | |
| "getTickets()": "4ed02622", | |
| "getWinner()": "8e7ea5b2", | |
| "getWinnerByRaffle(uint256)": "3aae0e07", | |
| "getWinningTicketId()": "1d84720a", | |
| "lastEntryTime(address)": "f5e365d2", | |
| "maxEntries()": "f23f3ba5", | |
| "owner()": "8da5cb5b", | |
| "payWinner(uint256)": "a5c0449f", | |
| "pickWinner()": "5d495aea", | |
| "pickWinnerTest()": "cd7688c6", | |
| "players(uint256)": "f71d96cb", | |
| "raffleHistory(uint256)": "b5c255d5", | |
| "raffleId()": "b375603c", | |
| "randomResult()": "42619f66", | |
| "rawFulfillRandomness(bytes32,uint256)": "94985ddd", | |
| "state()": "c19d93fb", | |
| "ticketToPlayer(uint256)": "f98e6b91", | |
| "tickets(uint256)": "50b44712" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "enterRaffle", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getBalance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "_player", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "getPlayerTickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getPlayers", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable[]", | |
| "name": "", | |
| "type": "address[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getPseudoRandomNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getRandomNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "requestId", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getTickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getWinner", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_lotteryId", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getWinnerByRaffle", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getWinningTicketId", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "lastEntryTime", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "maxEntries", | |
| "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": "_amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "payWinner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "pickWinner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "pickWinnerTest", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "players", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "raffleHistory", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "raffleId", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "randomResult", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "requestId", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "randomness", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "rawFulfillRandomness", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "state", | |
| "outputs": [ | |
| { | |
| "internalType": "enum StoryRaffle.RaffleState", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "ticketToPlayer", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "tickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "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.11+commit.d7f03943" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "enterRaffle", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getBalance", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "_player", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "getPlayerTickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getPlayers", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable[]", | |
| "name": "", | |
| "type": "address[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getPseudoRandomNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getRandomNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "requestId", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getTickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256[]", | |
| "name": "", | |
| "type": "uint256[]" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getWinner", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_lotteryId", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "getWinnerByRaffle", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "getWinningTicketId", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "lastEntryTime", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "maxEntries", | |
| "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": "_amount", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "payWinner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "pickWinner", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "pickWinnerTest", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "players", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "raffleHistory", | |
| "outputs": [ | |
| { | |
| "internalType": "address payable", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "raffleId", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "randomResult", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "bytes32", | |
| "name": "requestId", | |
| "type": "bytes32" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "randomness", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "rawFulfillRandomness", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "state", | |
| "outputs": [ | |
| { | |
| "internalType": "enum StoryRaffle.RaffleState", | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "ticketToPlayer", | |
| "outputs": [ | |
| { | |
| "internalType": "address", | |
| "name": "", | |
| "type": "address" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "tickets", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": { | |
| "getRandomNumber()": { | |
| "notice": "Requests randomness " | |
| } | |
| }, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/3_Raffle.sol": "StoryRaffle" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol": { | |
| "keccak256": "0xff9e7d773545a1a5d73106e72bfb429da79c1cc4d893fb62051df801d2e61469", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://68ff9557dad6da8108073dadcbfe5cd1f45106c2f890443eacd3bf8d59955d4e", | |
| "dweb:/ipfs/QmSKYkP8wNX7MKYrCroFps62gdxEwwrZwsz4RLc6XzNkxi" | |
| ] | |
| }, | |
| "@chainlink/contracts/src/v0.8/VRFRequestIDBase.sol": { | |
| "keccak256": "0x2bf1168e8fe548fa990e0aeaf89ef90680f80aa31eeaf901f485df60de51d51b", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://79c72d66deaa4b0f251f3f0817f45ebceb71f5b4f94a86ac0e586de99f5af2b6", | |
| "dweb:/ipfs/QmcHkApHm5CAynjajcCUYppaKJ9sNWGZTEcSs4tUK8B5K5" | |
| ] | |
| }, | |
| "@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol": { | |
| "keccak256": "0xc7d7cd730d36825485ef4107d93c3ff18b9f3a5a00ea3d5988ba9a0bd70b10c5", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://8cb1064885ecbcd9c3adba779e190cb4a538e5d4d15aeccb67d3376bdffc94bd", | |
| "dweb:/ipfs/QmcQHK6ewve7tFi4XXK65JthQg4kQzApQikWcURJjGt4iQ" | |
| ] | |
| }, | |
| "@openzeppelin/contracts/utils/Counters.sol": { | |
| "keccak256": "0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee", | |
| "dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu" | |
| ] | |
| }, | |
| "@openzeppelin/contracts/utils/math/SafeMath.sol": { | |
| "keccak256": "0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2", | |
| "dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y" | |
| ] | |
| }, | |
| "contracts/3_Raffle.sol": { | |
| "keccak256": "0x398d972f976dcab474185e58ff94efde1b21cea6065da921c7112165818afd3b", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://06b52cd3a1022bb79a6d34d8fd8a717f33dde93403774c93f7c97814423be6f8", | |
| "dweb:/ipfs/Qmbpgk4wxcX13pah4wrKsbAKUFopHik5FJQMLx5UGz7Hdm" | |
| ] | |
| } | |
| }, | |
| "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
| // Right click on the script name and hit "Run" to execute | |
| (async () => { | |
| try { | |
| console.log('Running deployWithEthers script...') | |
| const contractName = 'Storage' // Change this for other contract | |
| const constructorArgs = [] // Put constructor args (if any) here for your contract | |
| // Note that the script needs the ABI which is generated from the compilation artifact. | |
| // Make sure contract is compiled and artifacts are generated | |
| const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path | |
| const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
| // 'web3Provider' is a remix global variable object | |
| const signer = (new ethers.providers.Web3Provider(web3Provider)).getSigner() | |
| let factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer); | |
| let contract = await factory.deploy(...constructorArgs); | |
| console.log('Contract Address: ', contract.address); | |
| // The contract is NOT deployed yet; we must wait until it is mined | |
| await contract.deployed() | |
| console.log('Deployment successful.') | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
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
| // Right click on the script name and hit "Run" to execute | |
| (async () => { | |
| try { | |
| console.log('Running deployWithWeb3 script...') | |
| const contractName = 'Storage' // Change this for other contract | |
| const constructorArgs = [] // Put constructor args (if any) here for your contract | |
| // Note that the script needs the ABI which is generated from the compilation artifact. | |
| // Make sure contract is compiled and artifacts are generated | |
| const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path | |
| const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
| const accounts = await web3.eth.getAccounts() | |
| let contract = new web3.eth.Contract(metadata.abi) | |
| contract = contract.deploy({ | |
| data: metadata.data.bytecode.object, | |
| arguments: constructorArgs | |
| }) | |
| const newContractInstance = await contract.send({ | |
| from: accounts[0], | |
| gas: 1500000, | |
| gasPrice: '30000000000' | |
| }) | |
| console.log('Contract deployed at address: ', newContractInstance.options.address) | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
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.7.0 <0.9.0; | |
| import "remix_tests.sol"; // this import is automatically injected by Remix. | |
| import "../contracts/3_Ballot.sol"; | |
| contract BallotTest { | |
| bytes32[] proposalNames; | |
| Ballot ballotToTest; | |
| function beforeAll () public { | |
| proposalNames.push(bytes32("candidate1")); | |
| ballotToTest = new Ballot(proposalNames); | |
| } | |
| function checkWinningProposal () public { | |
| ballotToTest.vote(0); | |
| Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); | |
| Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); | |
| } | |
| function checkWinninProposalWithReturnValue () public view returns (bool) { | |
| return ballotToTest.winningProposal() == 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
| DONE - Check payWinner function. Doesnt seem to pay correct winner. | |
| - Add raffle states | |
| - Transfer and withdrawal only capable in raffle closed state | |
| DONE - Add safemath and use in every calculation | |
| - Add winners array | |
| DONE - Remove answer and timestamp from Tickets struct | |
| DONE - Refactor Ticket struct to maybe an array?? | |
| - Add security from openzeppelin | |
| - Remove winning ticketIds from tickets array? Using EnumerableMap for mappings, with remove() function? | |
| DONE - Fix cooldown | |
| - Use BNB to pay for raffle entry | |
| - Add withdraw Balance function, make it shit paranoid secure. | |
| - Check if player exists in Players arrray before pushing?? find a way to check for uinque value in array | |
| - require winning address to be valid address not (0x000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment