Created
          February 25, 2022 12:01 
        
      - 
      
 - 
        
Save ndirpaya/f7c3a1dfb8e9d6c5eab26b754a2e750d 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: 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"; | |
| 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) | |
| 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 { | |
| require(tickets.length < maxEntries, "Raffle is full"); | |
| // check if player has already entered | |
| require(playerTicketCount[msg.sender] < 3 , "You have reached your maximum entries"); | |
| // cooldown period before re-entering lottery | |
| require(block.timestamp - lastEntryTime[msg.sender] > 120, "You must wait 120 seconds before re-entering"); | |
| require(msg.value >= .01 ether, "Minimum entry fee not met"); | |
| // address of player entering the raffle | |
| // players.push(payable(msg.sender)); | |
| uint id = _ticketIds.current(); | |
| // tickets.push(Ticket({ | |
| // ticketId: _ticketIds.current(), | |
| // answer: "", | |
| // timestamp: block.timestamp | |
| // })); | |
| tickets.push(id); | |
| ticketToPlayer[id] = msg.sender; | |
| players.push(payable(msg.sender)); | |
| 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) { | |
| uint index = (randomResult % tickets.length)+1; | |
| // return players[index]; | |
| return ticketToPlayer[index]; // index-1 ???? | |
| } | |
| function getWinningTicketId() public view returns (uint) { | |
| uint index = (randomResult % tickets.length)+1; | |
| return index; | |
| } | |
| function payWinner(uint _amount) public { | |
| 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": { | |
| "@_434": { | |
| "entryPoint": null, | |
| "id": 434, | |
| "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": "60c060405234801561001057600080fd5b5073b3dccb4cf7a26f6cf6b120cf5a73875b7bbc655b7301be23585060835e02b77ef475b0cc51aa1e07098173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050507f2ed0feb3e7fd2022120aa84fab1945545a9f2ffc9076fd6156fa96eaff4c131160001b60058190555067016345785d8a000060068190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160038190555061c350600b81905550610144600961014960201b61110f1760201c565b61015f565b6001816000016000828254019250508190555050565b60805160a05161202e61019260003960008181610bbb015261117e015260008181610f930152611142015261202e6000f3fe6080604052600436106101665760003560e01c806394985ddd116100d1578063cd7688c61161008a578063f23f3ba511610064578063f23f3ba5146104ff578063f5e365d21461052a578063f71d96cb14610567578063f98e6b91146105a457610166565b8063cd7688c614610480578063d39fa23314610497578063dbdff2c1146104d457610166565b806394985ddd146103705780639c6f87e914610399578063a5c0449f146103c4578063b375603c146103ed578063b5c255d514610418578063c19d93fb1461045557610166565b80634ed02622116101235780634ed026221461027057806350b447121461029b5780635d495aea146102d85780638b5b9ccc146102ef5780638da5cb5b1461031a5780638e7ea5b21461034557610166565b806312065fe01461016b5780631d84720a1461019657806323413198146101c15780632cfcc539146101fe5780633aae0e071461020857806342619f6614610245575b600080fd5b34801561017757600080fd5b506101806105e1565b60405161018d91906113bd565b60405180910390f35b3480156101a257600080fd5b506101ab6105e9565b6040516101b891906113bd565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e3919061143b565b610614565b6040516101f591906113bd565b60405180910390f35b61020661065d565b005b34801561021457600080fd5b5061022f600480360381019061022a9190611494565b61094d565b60405161023c91906114e2565b60405180910390f35b34801561025157600080fd5b5061025a61098a565b60405161026791906113bd565b60405180910390f35b34801561027c57600080fd5b50610285610990565b60405161029291906115bb565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190611494565b6109e8565b6040516102cf91906113bd565b60405180910390f35b3480156102e457600080fd5b506102ed610a0c565b005b3480156102fb57600080fd5b50610304610aa7565b604051610311919061169b565b60405180910390f35b34801561032657600080fd5b5061032f610b35565b60405161033c91906116cc565b60405180910390f35b34801561035157600080fd5b5061035a610b5b565b60405161036791906116cc565b60405180910390f35b34801561037c57600080fd5b506103976004803603810190610392919061171d565b610bb9565b005b3480156103a557600080fd5b506103ae610c55565b6040516103bb91906113bd565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190611494565b610cb3565b005b3480156103f957600080fd5b50610402610e81565b60405161040f91906113bd565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a9190611494565b610e87565b60405161044c91906114e2565b60405180910390f35b34801561046157600080fd5b5061046a610eba565b60405161047791906117d4565b60405180910390f35b34801561048c57600080fd5b50610495610ecd565b005b3480156104a357600080fd5b506104be60048036038101906104b99190611494565b610f68565b6040516104cb91906113bd565b60405180910390f35b3480156104e057600080fd5b506104e9610f8c565b6040516104f691906117fe565b60405180910390f35b34801561050b57600080fd5b5061051461107f565b60405161052191906113bd565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c919061143b565b611085565b60405161055e91906113bd565b60405180910390f35b34801561057357600080fd5b5061058e60048036038101906105899190611494565b61109d565b60405161059b91906114e2565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c69190611494565b6110dc565b6040516105d891906116cc565b60405180910390f35b600047905090565b6000806001600c805490506008546106019190611848565b61060b91906118a8565b90508091505090565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b54600c80549050106106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d9061195b565b60405180910390fd5b6003600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410610728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071f906119ed565b60405180910390fd5b6078600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426107759190611a0d565b116107b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ac90611ab3565b60405180910390fd5b662386f26fc100003410156107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f690611b1f565b60405180910390fd5b600061080b6009611125565b9050600c81908060018154018082558091505060019003906000526020600020016000909190919091505533600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061093b90611b3f565b919050555061094a600961110f565b50565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6060600c8054806020026020016040519081016040528092919081815260200182805480156109de57602002820191906000526020600020905b8154815260200190600101908083116109ca575b5050505050905090565b600c81815481106109f857600080fd5b906000526020600020016000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9390611bd4565b60405180910390fd5b610aa4610f8c565b50565b60606002805480602002602001604051908101604052809291908181526020018280548015610b2b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610ae1575b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806001600c80549050600854610b739190611848565b610b7d91906118a8565b9050600d600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3e90611c40565b60405180910390fd5b610c518282611133565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602001610c8c929190611cc9565b6040516020818303038152906040528051906020012060001c600881905550600854905090565b60006001600280549050600854610cca9190611848565b610cd491906118a8565b90506002600182610ce59190611a0d565b81548110610cf657610cf5611cf5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610d66573d6000803e3d6000fd5b506002600182610d769190611a0d565b81548110610d8757610d86611cf5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060036000815480929190610e1890611b3f565b9190505550600067ffffffffffffffff811115610e3857610e37611d24565b5b604051908082528060200260200182016040528015610e665781602001602082028036833780820191505090505b5060029080519060200190610e7c9291906112fd565b505050565b60035481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611bd4565b60405180910390fd5b610f65610c55565b50565b600a8181548110610f7857600080fd5b906000526020600020016000915090505481565b60006006547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fea91906116cc565b602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b9190611d68565b101561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611de1565b60405180910390fd5b61107a60055460065461113e565b905090565b600b5481565b600f6020528060005260406000206000915090505481565b600281815481106110ad57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001816000016000828254019250508190555050565b600081600001549050919050565b806008819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016111b2929190611e01565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016111df93929190611ec3565b6020604051808303816000875af11580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611f39565b506000611244846000306000808981526020019081526020016000205461128e565b905060016000808681526020019081526020016000205461126591906118a8565b6000808681526020019081526020016000208190555061128584826112ca565b91505092915050565b6000848484846040516020016112a79493929190611f66565b6040516020818303038152906040528051906020012060001c9050949350505050565b600082826040516020016112df929190611fcc565b60405160208183030381529060405280519060200120905092915050565b828054828255906000526020600020908101928215611376579160200282015b828111156113755782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061131d565b5b5090506113839190611387565b5090565b5b808211156113a0576000816000905550600101611388565b5090565b6000819050919050565b6113b7816113a4565b82525050565b60006020820190506113d260008301846113ae565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611408826113dd565b9050919050565b611418816113fd565b811461142357600080fd5b50565b6000813590506114358161140f565b92915050565b600060208284031215611451576114506113d8565b5b600061145f84828501611426565b91505092915050565b611471816113a4565b811461147c57600080fd5b50565b60008135905061148e81611468565b92915050565b6000602082840312156114aa576114a96113d8565b5b60006114b88482850161147f565b91505092915050565b60006114cc826113dd565b9050919050565b6114dc816114c1565b82525050565b60006020820190506114f760008301846114d3565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611532816113a4565b82525050565b60006115448383611529565b60208301905092915050565b6000602082019050919050565b6000611568826114fd565b6115728185611508565b935061157d83611519565b8060005b838110156115ae5781516115958882611538565b97506115a083611550565b925050600181019050611581565b5085935050505092915050565b600060208201905081810360008301526115d5818461155d565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611612816114c1565b82525050565b60006116248383611609565b60208301905092915050565b6000602082019050919050565b6000611648826115dd565b61165281856115e8565b935061165d836115f9565b8060005b8381101561168e5781516116758882611618565b975061168083611630565b925050600181019050611661565b5085935050505092915050565b600060208201905081810360008301526116b5818461163d565b905092915050565b6116c6816113fd565b82525050565b60006020820190506116e160008301846116bd565b92915050565b6000819050919050565b6116fa816116e7565b811461170557600080fd5b50565b600081359050611717816116f1565b92915050565b60008060408385031215611734576117336113d8565b5b600061174285828601611708565b92505060206117538582860161147f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061179d5761179c61175d565b5b50565b60008190506117ae8261178c565b919050565b60006117be826117a0565b9050919050565b6117ce816117b3565b82525050565b60006020820190506117e960008301846117c5565b92915050565b6117f8816116e7565b82525050565b600060208201905061181360008301846117ef565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611853826113a4565b915061185e836113a4565b92508261186e5761186d611819565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b3826113a4565b91506118be836113a4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156118f3576118f2611879565b5b828201905092915050565b600082825260208201905092915050565b7f526166666c652069732066756c6c000000000000000000000000000000000000600082015250565b6000611945600e836118fe565b91506119508261190f565b602082019050919050565b6000602082019050818103600083015261197481611938565b9050919050565b7f596f752068617665207265616368656420796f7572206d6178696d756d20656e60008201527f7472696573000000000000000000000000000000000000000000000000000000602082015250565b60006119d76025836118fe565b91506119e28261197b565b604082019050919050565b60006020820190508181036000830152611a06816119ca565b9050919050565b6000611a18826113a4565b9150611a23836113a4565b925082821015611a3657611a35611879565b5b828203905092915050565b7f596f75206d757374207761697420313230207365636f6e6473206265666f726560008201527f2072652d656e746572696e670000000000000000000000000000000000000000602082015250565b6000611a9d602c836118fe565b9150611aa882611a41565b604082019050919050565b60006020820190508181036000830152611acc81611a90565b9050919050565b7f4d696e696d756d20656e74727920666565206e6f74206d657400000000000000600082015250565b6000611b096019836118fe565b9150611b1482611ad3565b602082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b6000611b4a826113a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b7d57611b7c611879565b5b600182019050919050565b7f4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e600082015250565b6000611bbe6020836118fe565b9150611bc982611b88565b602082019050919050565b60006020820190508181036000830152611bed81611bb1565b9050919050565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b6000611c2a601f836118fe565b9150611c3582611bf4565b602082019050919050565b60006020820190508181036000830152611c5981611c1d565b9050919050565b60008160601b9050919050565b6000611c7882611c60565b9050919050565b6000611c8a82611c6d565b9050919050565b611ca2611c9d826113fd565b611c7f565b82525050565b6000819050919050565b611cc3611cbe826113a4565b611ca8565b82525050565b6000611cd58285611c91565b601482019150611ce58284611cb2565b6020820191508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611d6281611468565b92915050565b600060208284031215611d7e57611d7d6113d8565b5b6000611d8c84828501611d53565b91505092915050565b7f4e6f7420656e6f756768204c494e4b20696e20636f6e74726163740000000000600082015250565b6000611dcb601b836118fe565b9150611dd682611d95565b602082019050919050565b60006020820190508181036000830152611dfa81611dbe565b9050919050565b6000604082019050611e1660008301856117ef565b611e2360208301846113ae565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e64578082015181840152602081019050611e49565b83811115611e73576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9582611e2a565b611e9f8185611e35565b9350611eaf818560208601611e46565b611eb881611e79565b840191505092915050565b6000606082019050611ed860008301866116bd565b611ee560208301856113ae565b8181036040830152611ef78184611e8a565b9050949350505050565b60008115159050919050565b611f1681611f01565b8114611f2157600080fd5b50565b600081519050611f3381611f0d565b92915050565b600060208284031215611f4f57611f4e6113d8565b5b6000611f5d84828501611f24565b91505092915050565b6000608082019050611f7b60008301876117ef565b611f8860208301866113ae565b611f9560408301856116bd565b611fa260608301846113ae565b95945050505050565b6000819050919050565b611fc6611fc1826116e7565b611fab565b82525050565b6000611fd88285611fb5565b602082019150611fe88284611cb2565b602082019150819050939250505056fea264697066735822122092dcf7bc1fa1df60ba197347db8323b4c213adb6024a01cae2de10c2442d51d464736f6c634300080b0033", | |
| "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 0xB DUP2 SWAP1 SSTORE POP PUSH2 0x144 PUSH1 0x9 PUSH2 0x149 PUSH1 0x20 SHL PUSH2 0x110F 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 0x202E PUSH2 0x192 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBBB ADD MSTORE PUSH2 0x117E ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0xF93 ADD MSTORE PUSH2 0x1142 ADD MSTORE PUSH2 0x202E PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x166 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xCD7688C6 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xF23F3BA5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xF23F3BA5 EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0xF5E365D2 EQ PUSH2 0x52A JUMPI DUP1 PUSH4 0xF71D96CB EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0xF98E6B91 EQ PUSH2 0x5A4 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0xCD7688C6 EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0xD39FA233 EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x4D4 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x94985DDD EQ PUSH2 0x370 JUMPI DUP1 PUSH4 0x9C6F87E9 EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0xA5C0449F EQ PUSH2 0x3C4 JUMPI DUP1 PUSH4 0xB375603C EQ PUSH2 0x3ED JUMPI DUP1 PUSH4 0xB5C255D5 EQ PUSH2 0x418 JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x455 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x4ED02622 GT PUSH2 0x123 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0x5D495AEA EQ PUSH2 0x2D8 JUMPI DUP1 PUSH4 0x8B5B9CCC EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x31A JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x345 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x1D84720A EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x23413198 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2CFCC539 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x3AAE0E07 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0x245 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x180 PUSH2 0x5E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AB PUSH2 0x5E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x143B JUMP JUMPDEST PUSH2 0x614 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x206 PUSH2 0x65D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x94D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x98A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x267 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x285 PUSH2 0x990 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x15BB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2C2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BD SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x9E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2ED PUSH2 0xA0C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x311 SWAP2 SWAP1 PUSH2 0x169B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32F PUSH2 0xB35 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33C SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35A PUSH2 0xB5B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x367 SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x397 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x392 SWAP2 SWAP1 PUSH2 0x171D JUMP JUMPDEST PUSH2 0xBB9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AE PUSH2 0xC55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BB SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3E6 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xCB3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x402 PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40F SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x461 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x46A PUSH2 0xEBA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x477 SWAP2 SWAP1 PUSH2 0x17D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x495 PUSH2 0xECD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4B9 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xF68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4CB SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E9 PUSH2 0xF8C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F6 SWAP2 SWAP1 PUSH2 0x17FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x514 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x521 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x536 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x551 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x54C SWAP2 SWAP1 PUSH2 0x143B JUMP JUMPDEST PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x55E SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x58E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x109D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x59B SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5C6 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D8 SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0xC DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0x601 SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0x60B SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE 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 0xB SLOAD PUSH1 0xC DUP1 SLOAD SWAP1 POP LT PUSH2 0x6A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x69D SWAP1 PUSH2 0x195B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 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 LT PUSH2 0x728 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71F SWAP1 PUSH2 0x19ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x78 PUSH1 0xF PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD TIMESTAMP PUSH2 0x775 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST GT PUSH2 0x7B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7AC SWAP1 PUSH2 0x1AB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH7 0x2386F26FC10000 CALLVALUE LT ISZERO PUSH2 0x7FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7F6 SWAP1 PUSH2 0x1B1F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x80B PUSH1 0x9 PUSH2 0x1125 JUMP JUMPDEST SWAP1 POP PUSH1 0xC 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 0xD 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 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 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x93B SWAP1 PUSH2 0x1B3F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x94A PUSH1 0x9 PUSH2 0x110F JUMP JUMPDEST 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 0xC 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 0x9DE 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 0x9CA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xC DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x9F8 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 0xA9C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA93 SWAP1 PUSH2 0x1BD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAA4 PUSH2 0xF8C 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 0xB2B 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 0xAE1 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 0x1 PUSH1 0xC DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xB73 SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0xB7D SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP PUSH1 0xD 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 SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC47 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC3E SWAP1 PUSH2 0x1C40 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC51 DUP3 DUP3 PUSH2 0x1133 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 0xC8C SWAP3 SWAP2 SWAP1 PUSH2 0x1CC9 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 0x0 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xCCA SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0xCD4 SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xCE5 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xCF6 JUMPI PUSH2 0xCF5 PUSH2 0x1CF5 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 0xD66 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xD76 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xD87 JUMPI PUSH2 0xD86 PUSH2 0x1CF5 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 0xE18 SWAP1 PUSH2 0x1B3F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE38 JUMPI PUSH2 0xE37 PUSH2 0x1D24 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 0xE66 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 0xE7C SWAP3 SWAP2 SWAP1 PUSH2 0x12FD 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 0xF5D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF54 SWAP1 PUSH2 0x1BD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xF65 PUSH2 0xC55 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0xA DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 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 0xFEA SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1007 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 0x102B SWAP2 SWAP1 PUSH2 0x1D68 JUMP JUMPDEST LT ISZERO PUSH2 0x106C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1063 SWAP1 PUSH2 0x1DE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x107A PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD PUSH2 0x113E JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH1 0xF 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 0x10AD 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 0xD 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 0x11B2 SWAP3 SWAP2 SWAP1 PUSH2 0x1E01 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 0x11DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11FE 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 0x1222 SWAP2 SWAP1 PUSH2 0x1F39 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1244 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x128E 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 0x1265 SWAP2 SWAP1 PUSH2 0x18A8 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 0x1285 DUP5 DUP3 PUSH2 0x12CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x12A7 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F66 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 0x12DF SWAP3 SWAP2 SWAP1 PUSH2 0x1FCC 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 0x1376 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1375 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 0x131D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1383 SWAP2 SWAP1 PUSH2 0x1387 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x13A0 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1388 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13B7 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13D2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13AE 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 0x1408 DUP3 PUSH2 0x13DD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1418 DUP2 PUSH2 0x13FD JUMP JUMPDEST DUP2 EQ PUSH2 0x1423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1435 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1451 JUMPI PUSH2 0x1450 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x145F DUP5 DUP3 DUP6 ADD PUSH2 0x1426 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1471 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP2 EQ PUSH2 0x147C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x148E DUP2 PUSH2 0x1468 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14AA JUMPI PUSH2 0x14A9 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x14B8 DUP5 DUP3 DUP6 ADD PUSH2 0x147F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CC DUP3 PUSH2 0x13DD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14DC DUP2 PUSH2 0x14C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14F7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x14D3 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 0x1532 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1544 DUP4 DUP4 PUSH2 0x1529 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 0x1568 DUP3 PUSH2 0x14FD JUMP JUMPDEST PUSH2 0x1572 DUP2 DUP6 PUSH2 0x1508 JUMP JUMPDEST SWAP4 POP PUSH2 0x157D DUP4 PUSH2 0x1519 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x15AE JUMPI DUP2 MLOAD PUSH2 0x1595 DUP9 DUP3 PUSH2 0x1538 JUMP JUMPDEST SWAP8 POP PUSH2 0x15A0 DUP4 PUSH2 0x1550 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1581 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 0x15D5 DUP2 DUP5 PUSH2 0x155D 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 0x1612 DUP2 PUSH2 0x14C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1624 DUP4 DUP4 PUSH2 0x1609 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 0x1648 DUP3 PUSH2 0x15DD JUMP JUMPDEST PUSH2 0x1652 DUP2 DUP6 PUSH2 0x15E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x165D DUP4 PUSH2 0x15F9 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x168E JUMPI DUP2 MLOAD PUSH2 0x1675 DUP9 DUP3 PUSH2 0x1618 JUMP JUMPDEST SWAP8 POP PUSH2 0x1680 DUP4 PUSH2 0x1630 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1661 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 0x16B5 DUP2 DUP5 PUSH2 0x163D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16C6 DUP2 PUSH2 0x13FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16BD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16FA DUP2 PUSH2 0x16E7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1705 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1717 DUP2 PUSH2 0x16F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1734 JUMPI PUSH2 0x1733 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1742 DUP6 DUP3 DUP7 ADD PUSH2 0x1708 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1753 DUP6 DUP3 DUP7 ADD PUSH2 0x147F 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 0x179D JUMPI PUSH2 0x179C PUSH2 0x175D JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x17AE DUP3 PUSH2 0x178C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17BE DUP3 PUSH2 0x17A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17CE DUP2 PUSH2 0x17B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17E9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17C5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17F8 DUP2 PUSH2 0x16E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1813 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17EF 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 0x1853 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x185E DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x186E JUMPI PUSH2 0x186D PUSH2 0x1819 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 0x18B3 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x18BE DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x18F3 JUMPI PUSH2 0x18F2 PUSH2 0x1879 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 0x526166666C652069732066756C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1945 PUSH1 0xE DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1950 DUP3 PUSH2 0x190F 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 0x1974 DUP2 PUSH2 0x1938 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 0x19D7 PUSH1 0x25 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x19E2 DUP3 PUSH2 0x197B 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 0x1A06 DUP2 PUSH2 0x19CA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A18 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A23 DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1A36 JUMPI PUSH2 0x1A35 PUSH2 0x1879 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F75206D757374207761697420313230207365636F6E6473206265666F7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072652D656E746572696E670000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A9D PUSH1 0x2C DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1AA8 DUP3 PUSH2 0x1A41 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 0x1ACC DUP2 PUSH2 0x1A90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4D696E696D756D20656E74727920666565206E6F74206D657400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B09 PUSH1 0x19 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1B14 DUP3 PUSH2 0x1AD3 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 0x1B38 DUP2 PUSH2 0x1AFC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B4A DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1B7D JUMPI PUSH2 0x1B7C PUSH2 0x1879 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 0x1BBE PUSH1 0x20 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1BC9 DUP3 PUSH2 0x1B88 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 0x1BED DUP2 PUSH2 0x1BB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C2A PUSH1 0x1F DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1C35 DUP3 PUSH2 0x1BF4 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 0x1C59 DUP2 PUSH2 0x1C1D 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 0x1C78 DUP3 PUSH2 0x1C60 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C8A DUP3 PUSH2 0x1C6D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CA2 PUSH2 0x1C9D DUP3 PUSH2 0x13FD JUMP JUMPDEST PUSH2 0x1C7F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CC3 PUSH2 0x1CBE DUP3 PUSH2 0x13A4 JUMP JUMPDEST PUSH2 0x1CA8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CD5 DUP3 DUP6 PUSH2 0x1C91 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x1CE5 DUP3 DUP5 PUSH2 0x1CB2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP 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 0x1D62 DUP2 PUSH2 0x1468 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D7E JUMPI PUSH2 0x1D7D PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D8C DUP5 DUP3 DUP6 ADD PUSH2 0x1D53 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B20696E20636F6E74726163740000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DCB PUSH1 0x1B DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1DD6 DUP3 PUSH2 0x1D95 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 0x1DFA DUP2 PUSH2 0x1DBE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1E16 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x17EF JUMP JUMPDEST PUSH2 0x1E23 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x13AE 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 0x1E64 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E49 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1E73 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 0x1E95 DUP3 PUSH2 0x1E2A JUMP JUMPDEST PUSH2 0x1E9F DUP2 DUP6 PUSH2 0x1E35 JUMP JUMPDEST SWAP4 POP PUSH2 0x1EAF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1E46 JUMP JUMPDEST PUSH2 0x1EB8 DUP2 PUSH2 0x1E79 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1ED8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16BD JUMP JUMPDEST PUSH2 0x1EE5 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x13AE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1EF7 DUP2 DUP5 PUSH2 0x1E8A 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 0x1F16 DUP2 PUSH2 0x1F01 JUMP JUMPDEST DUP2 EQ PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F33 DUP2 PUSH2 0x1F0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F4F JUMPI PUSH2 0x1F4E PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F5D DUP5 DUP3 DUP6 ADD PUSH2 0x1F24 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1F7B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x17EF JUMP JUMPDEST PUSH2 0x1F88 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x13AE JUMP JUMPDEST PUSH2 0x1F95 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x16BD JUMP JUMPDEST PUSH2 0x1FA2 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x13AE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FC6 PUSH2 0x1FC1 DUP3 PUSH2 0x16E7 JUMP JUMPDEST PUSH2 0x1FAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FD8 DUP3 DUP6 PUSH2 0x1FB5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x1FE8 DUP3 DUP5 PUSH2 0x1CB2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xDC 0xF7 0xBC 0x1F LOG1 0xDF PUSH1 0xBA NOT PUSH20 0x47DB8323B4C213ADB6024A01CAE2DE10C2442D51 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD SIGNEXTEND STOP CALLER ", | |
| "sourceMap": "173:5466:4:-:0;;;1207:497;;;;;;;;;;1251:42;1332;9323:15:0;9306:32;;;;;;;;;;9370:5;9344:32;;;;;;;;;;9248:133;;1425:66:4::1;1414:77;;:7;:77;;;;1507:14;1501:3;:20;;;;1562:10;1554:5;;:18;;;;;;;;;;;;;;;;;;1634:1;1623:8;:12;;;;1659:5;1646:10;:18;;;;1675:22;:10;:20;;;;;:22;;:::i;:::-;173:5466:::0;;945:123:3;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;173:5466:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@current_283": { | |
| "entryPoint": 4389, | |
| "id": 283, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@enterRaffle_598": { | |
| "entryPoint": 1629, | |
| "id": 598, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@fulfillRandomness_473": { | |
| "entryPoint": 4403, | |
| "id": 473, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@getBalance_497": { | |
| "entryPoint": 1505, | |
| "id": 497, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getPlayerTickets_650": { | |
| "entryPoint": 1556, | |
| "id": 650, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@getPlayers_506": { | |
| "entryPoint": 2727, | |
| "id": 506, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getPseudoRandomNumber_620": { | |
| "entryPoint": 3157, | |
| "id": 620, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getRandomNumber_459": { | |
| "entryPoint": 3980, | |
| "id": 459, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getTickets_515": { | |
| "entryPoint": 2448, | |
| "id": 515, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinnerByRaffle_485": { | |
| "entryPoint": 2381, | |
| "id": 485, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinner_670": { | |
| "entryPoint": 2907, | |
| "id": 670, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@getWinningTicketId_688": { | |
| "entryPoint": 1513, | |
| "id": 688, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@increment_297": { | |
| "entryPoint": 4367, | |
| "id": 297, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@lastEntryTime_396": { | |
| "entryPoint": 4229, | |
| "id": 396, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@makeRequestId_169": { | |
| "entryPoint": 4810, | |
| "id": 169, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@makeVRFInputSeed_150": { | |
| "entryPoint": 4750, | |
| "id": 150, | |
| "parameterSlots": 4, | |
| "returnSlots": 1 | |
| }, | |
| "@maxEntries_381": { | |
| "entryPoint": 4223, | |
| "id": 381, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@numbers_379": { | |
| "entryPoint": 3944, | |
| "id": 379, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@owner_347": { | |
| "entryPoint": 2869, | |
| "id": 347, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@payWinner_734": { | |
| "entryPoint": 3251, | |
| "id": 734, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "@pickWinnerTest_629": { | |
| "entryPoint": 3789, | |
| "id": 629, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@pickWinner_638": { | |
| "entryPoint": 2572, | |
| "id": 638, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@players_350": { | |
| "entryPoint": 4253, | |
| "id": 350, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@raffleHistory_356": { | |
| "entryPoint": 3719, | |
| "id": 356, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@raffleId_352": { | |
| "entryPoint": 3713, | |
| "id": 352, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@randomResult_369": { | |
| "entryPoint": 2442, | |
| "id": 369, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@rawFulfillRandomness_119": { | |
| "entryPoint": 3001, | |
| "id": 119, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "@requestRandomness_70": { | |
| "entryPoint": 4414, | |
| "id": 70, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@state_367": { | |
| "entryPoint": 3770, | |
| "id": 367, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@ticketToPlayer_388": { | |
| "entryPoint": 4316, | |
| "id": 388, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@tickets_384": { | |
| "entryPoint": 2536, | |
| "id": 384, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_address": { | |
| "entryPoint": 5158, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_bool_fromMemory": { | |
| "entryPoint": 7972, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_bytes32": { | |
| "entryPoint": 5896, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 5247, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_uint256_fromMemory": { | |
| "entryPoint": 7507, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_address": { | |
| "entryPoint": 5179, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_bool_fromMemory": { | |
| "entryPoint": 7993, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_bytes32t_uint256": { | |
| "entryPoint": 5917, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 2 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 5268, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256_fromMemory": { | |
| "entryPoint": 7528, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable": { | |
| "entryPoint": 5656, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
| "entryPoint": 5432, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_address_payable_to_t_address_payable": { | |
| "entryPoint": 5641, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_payable_to_t_address_payable_fromStack": { | |
| "entryPoint": 5331, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_to_t_address_fromStack": { | |
| "entryPoint": 5821, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack": { | |
| "entryPoint": 7313, | |
| "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": 5693, | |
| "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": 5469, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
| "entryPoint": 6127, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { | |
| "entryPoint": 8117, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
| "entryPoint": 7818, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_enum$_RaffleState_$364_to_t_uint8_fromStack": { | |
| "entryPoint": 6085, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6800, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6602, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7614, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6908, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7197, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 7089, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6456, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256": { | |
| "entryPoint": 5417, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 5038, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack": { | |
| "entryPoint": 7346, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_packed_t_address_t_uint256__to_t_address_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 7369, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
| "entryPoint": 8140, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
| "entryPoint": 5836, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed": { | |
| "entryPoint": 5346, | |
| "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": 7875, | |
| "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": 5787, | |
| "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": 5563, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
| "entryPoint": 6142, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": { | |
| "entryPoint": 7681, | |
| "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": 8038, | |
| "id": null, | |
| "parameterSlots": 5, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_enum$_RaffleState_$364__to_t_uint8__fromStack_reversed": { | |
| "entryPoint": 6100, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6835, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6637, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7649, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6943, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7232, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 7124, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 6491, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 5053, | |
| "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": 5625, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5401, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_array$_t_address_payable_$dyn_memory_ptr": { | |
| "entryPoint": 5597, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5373, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_bytes_memory_ptr": { | |
| "entryPoint": 7722, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr": { | |
| "entryPoint": 5680, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
| "entryPoint": 5456, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5608, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
| "entryPoint": 5384, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
| "entryPoint": 7733, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 6398, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 6312, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_sub_t_uint256": { | |
| "entryPoint": 6669, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address": { | |
| "entryPoint": 5117, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_address_payable": { | |
| "entryPoint": 5313, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bool": { | |
| "entryPoint": 7937, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bytes32": { | |
| "entryPoint": 5863, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_enum$_RaffleState_$364": { | |
| "entryPoint": 6048, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint160": { | |
| "entryPoint": 5085, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 5028, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "convert_t_enum$_RaffleState_$364_to_t_uint8": { | |
| "entryPoint": 6067, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 7750, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "increment_t_uint256": { | |
| "entryPoint": 6975, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_address": { | |
| "entryPoint": 7295, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_bytes32": { | |
| "entryPoint": 8107, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_uint160": { | |
| "entryPoint": 7277, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "leftAlign_t_uint256": { | |
| "entryPoint": 7336, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "mod_t_uint256": { | |
| "entryPoint": 6216, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 6265, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x12": { | |
| "entryPoint": 6169, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x21": { | |
| "entryPoint": 5981, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x32": { | |
| "entryPoint": 7413, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 7460, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 5080, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 7801, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "shift_left_96": { | |
| "entryPoint": 7264, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "store_literal_in_memory_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145": { | |
| "entryPoint": 6721, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e": { | |
| "entryPoint": 6523, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9": { | |
| "entryPoint": 7573, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0": { | |
| "entryPoint": 6867, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445": { | |
| "entryPoint": 7156, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e": { | |
| "entryPoint": 7048, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d": { | |
| "entryPoint": 6415, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_assert_t_enum$_RaffleState_$364": { | |
| "entryPoint": 6028, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_address": { | |
| "entryPoint": 5135, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_bool": { | |
| "entryPoint": 7949, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_bytes32": { | |
| "entryPoint": 5873, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 5224, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:23812:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "52:32:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "62:16:5", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "73:5:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "62:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "34:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "44:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:77:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "155:53:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "172:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "195:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "177:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "177:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "165:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "165:37:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "165:37:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "143:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "150:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "90:118:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "312:124:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "322:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "334:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "345:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "330:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "330:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "322:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "402:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "415:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "426:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "358:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "358:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "358:71:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "284:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "296:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "307:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "214:222:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "482:35:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "492:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "508:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "502:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "502:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "492:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "475:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "442:75:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "612:28:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "629:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "632:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "622:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "622:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "622:12:5" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "523:117:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "735:28:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "752:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "755:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "745:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "745:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "745:12:5" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "646:117:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "814:81:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "824:65:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "839:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "846:42:5", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "835:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "835:54:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "824:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "796:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "806:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "769:126:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "946:51:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "956:35:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "985:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "967:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "967:24:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "956:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "928:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "938:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "901:96:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1046:79:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1103:16:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1112:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1115:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1105:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1105:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1105:12:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1069:5:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1094:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1076:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1076:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1066:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1066:35:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1059:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1059:43:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1056:63:5" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1039:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1003:122:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1183:87:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1193:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1215:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1202:12:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1202:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1193:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1258:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1231:26:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1231:33:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1231:33:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1161:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1169:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1177:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1131:139:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1342:263:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1388:83:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1390:77:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1390:79:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1390:79:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1363:7:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1372:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1359:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1359:23:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1384:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1355:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1355:32:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1352:119:5" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1481:117:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1496:15:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1510:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1500:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1525:63:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1560:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1571:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1556:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1556:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1580:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "1535:20:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1535:53:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1525:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1312:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1323:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1335:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1276:329:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1654:79:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1711:16:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1720:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1723:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1713:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1713:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1713:12:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1677:5:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1702:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1684:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1684:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1674:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1674:35:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1667:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1667:43:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1664:63:5" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1647:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1611:122:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1791:87:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1801:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1823:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1810:12:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1810:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1801:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1866:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1839:26:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1839:33:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1839:33:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1769:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1777:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1785:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1739:139:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1950:263:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1996:83:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "1998:77:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1998:79:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1998:79:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:7:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1980:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1967:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1967:23:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1992:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1963:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1963:32:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1960:119:5" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2089:117:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2104:15:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2118:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2108:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2133:63:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2168:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2179:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2164:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2164:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2188:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2143:20:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2143:53:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2133:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1920:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "1931:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1943:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1884:329:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2272:51:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2282:35:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2311:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "2293:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2293:24:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2282:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2254:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2264:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2219:104:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2410:61:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2427:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2458:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "2432:25:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2432:32:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2420:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2420:45:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2420:45:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2398:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2405:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2329:142:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2591:140:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2601:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2613:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2624:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2609:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2609:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "2601:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2697:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2710:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2721:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2706:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2706:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_payable_to_t_address_payable_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "2637:59:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2637:87:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2637:87:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address_payable__to_t_address_payable__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2563:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "2575:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "2586:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2477:254:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2811:40:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2822:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2838:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2832:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2832:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2822:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2794:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2804:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2737:114:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2968:73:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2985:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2990:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2978:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2978:19:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2978:19:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3006:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3025:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3030:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3021:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3021:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3006:11:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2940:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2945:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2956:11:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2857:184:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3119:60:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3129:11:5", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3137:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3129:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3150:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3167:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3158:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3158:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3150:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "3106:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3114:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3047:132:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3240:53:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3257:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3280:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3262:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3262:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3250:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3250:37:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3250:37:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3228:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3235:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3185:108:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3379:99:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "3423:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3431:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3389:33:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3389:46:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3389:46:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3444:28:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3462:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3467:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3458:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3458:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3444:10:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "3352:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3360:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulTypedName", | |
| "src": "3368:10:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3299:179:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3559:38:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3569:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3581:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3586:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3577:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3577:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulIdentifier", | |
| "src": "3569:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "3546:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulTypedName", | |
| "src": "3554:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3484:113:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3757:608:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3767:68:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3829:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3781:47:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3781:54:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3771:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3844:93:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3925:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3930:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3851:73:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3851:86:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3844:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3946:71:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4011:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3961:49:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3961:56:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "baseRef", | |
| "nodeType": "YulTypedName", | |
| "src": "3950:7:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4026:21:5", | |
| "value": { | |
| "name": "baseRef", | |
| "nodeType": "YulIdentifier", | |
| "src": "4040:7:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "4030:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4116:224:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4130:34:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4157:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4151:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4151:13:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulTypedName", | |
| "src": "4134:13:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4177:70:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulIdentifier", | |
| "src": "4228:13:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4243:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4184:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4184:63:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4177:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4260:70:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4323:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4270:52:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4270:60:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4260:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4078:1:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4081:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4075:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4075:13:5" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "4089:18:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4091:14:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4100:1:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4103:1:5", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4096:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4096:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4091:1:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "4060:14:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4062:10:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4071:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "4066:1:5", | |
| "type": "" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "src": "4056:284:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4349:10:5", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "4356:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "4349:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "3743:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "3752:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3633:732:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4519:225:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4529:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4541:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4552:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4537:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4537:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4529:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4576:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4587:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4572:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4572:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4595:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "4601:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "4591:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4591:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4565:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4565:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4565:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4621:116:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "4723:6:5" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4732:4:5" | |
| } | |
| ], | |
| "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:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4629:108:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "4621:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "4503:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "4514:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4371:373:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4832:40:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4843:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4859:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4853:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4853:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4843:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4815:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4825:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4750:122:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4997:73:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5014:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "5019:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5007:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5007:19:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5007:19:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5035:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5054:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5059:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5050:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5050:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5035:11:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4969:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "4974:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "4985:11:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4878:192:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5156:60:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5166:11:5", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5174:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "5166:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5187:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5199:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5204:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5195:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5195:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "5187:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "5143:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "5151:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5076:140:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5293:61:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5310:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5341:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "5315:25:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5315:32:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5303:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5303:45:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5303:45:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5281:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5288:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5222:132:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5456:115:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "5516:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5524:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "5466:49:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5466:62:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5466:62:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5537:28:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5555:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5560:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5551:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5551:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5537:10:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "5429:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5437:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updatedPos", | |
| "nodeType": "YulTypedName", | |
| "src": "5445:10:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5360:211:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5660:38:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5670:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5682:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5687:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5678:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5678:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulIdentifier", | |
| "src": "5670:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "5647:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "next", | |
| "nodeType": "YulTypedName", | |
| "src": "5655:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5577:121:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5890:656:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5900:76:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5970:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "5914:55:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5914:62:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "5904:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5985:101:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6074:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "6079:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_array$_t_address_payable_$dyn_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "5992:81:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5992:94:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "5985:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6095:79:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "6168:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6110:57:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6110:64:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "baseRef", | |
| "nodeType": "YulTypedName", | |
| "src": "6099:7:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6183:21:5", | |
| "value": { | |
| "name": "baseRef", | |
| "nodeType": "YulIdentifier", | |
| "src": "6197:7:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "6187:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6273:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6287:34:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6314:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "6308:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6308:13:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulTypedName", | |
| "src": "6291:13:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6334:86:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "elementValue0", | |
| "nodeType": "YulIdentifier", | |
| "src": "6401:13:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6416:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encodeUpdatedPos_t_address_payable_to_t_address_payable", | |
| "nodeType": "YulIdentifier", | |
| "src": "6341:59:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6341:79:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6334:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6433:78:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6504:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_nextElement_t_array$_t_address_payable_$dyn_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6443:60:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6443:68:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "6433:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6235:1:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "6238:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "6232:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6232:13:5" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "6246:18:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6248:14:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6257:1:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6260:1:5", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6253:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6253:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "6248:1:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "6217:14:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "6219:10:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6228:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "6223:1:5", | |
| "type": "" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "src": "6213:308:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6530:10:5", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "6537:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "6530:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "5876:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "5885:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "5750:796:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "6716:241:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6726:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6738:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6749:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6734:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6734:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6726:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6773:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "6784:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "6769:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6769:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6792:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "6798:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "6788:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6788:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "6762:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6762:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "6762:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "6818:132:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "6936:6:5" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6945:4:5" | |
| } | |
| ], | |
| "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:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "6826:124:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "6818:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "6700:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "6711:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6552:405:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7028:53:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "7045:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7068:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "7050:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7050:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "7038:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7038:37:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7038:37:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7016:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "7023:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "6963:118:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7185:124:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7195:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7207:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7218:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7203:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7203:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "7195:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "7275:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7288:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7299:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7284:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7284:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "7231:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7231:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7231:71:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "7157:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "7169:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "7180:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7087:222:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7360:32:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7370:16:5", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7381:5:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "7370:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7342:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "7352:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7315:77:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7441:79:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7498:16:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7507:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7510:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "7500:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7500:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7500:12:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7464:5:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7489:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7471:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7471:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "7461:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7461:35:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "7454:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7454:43:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "7451:63:5" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7434:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7398:122:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7578:87:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7588:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "7610:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "7597:12:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7597:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7588:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "7653:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7626:26:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7626:33:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7626:33:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "7556:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "7564:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "7572:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7526:139:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7754:391:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "7800:83:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "7802:77:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7802:79:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "7802:79:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "7775:7:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7784:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "7771:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7771:23:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7796:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "7767:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7767:32:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "7764:119:5" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "7893:117:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "7908:15:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "7922:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "7912:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "7937:63:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "7972:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "7983:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "7968:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7968:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "7992:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "7947:20:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "7947:53:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "7937:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "8020:118:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "8035:16:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8049:2:5", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "8039:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8065:63:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "8100:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "8111:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "8096:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8096:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "8120:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "8075:20:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8075:53:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "8065:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_bytes32t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "7716:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "7727:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "7739:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "7747:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7671:474:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8179:152:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8196:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8199:77:5", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8189:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8189:88:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8189:88:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8293:1:5", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8296:4:5", | |
| "type": "", | |
| "value": "0x21" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8286:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8286:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8286:15:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8317:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8320:4:5", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "8310:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8310:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8310:15:5" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x21", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "8151:180:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8395:62:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8429:22:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x21", | |
| "nodeType": "YulIdentifier", | |
| "src": "8431:16:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8431:18:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8431:18:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8418:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "8425:1:5", | |
| "type": "", | |
| "value": "3" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "8415:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8415:12:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "8408:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8408:20:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "8405:46:5" | |
| } | |
| ] | |
| }, | |
| "name": "validator_assert_t_enum$_RaffleState_$364", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8388:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8337:120:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8523:81:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8533:16:5", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8544:5:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "8533:7:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8592:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_assert_t_enum$_RaffleState_$364", | |
| "nodeType": "YulIdentifier", | |
| "src": "8550:41:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8550:48:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8550:48:5" | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_enum$_RaffleState_$364", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8505:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "8515:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8463:141:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8683:68:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "8693:52:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8739:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_enum$_RaffleState_$364", | |
| "nodeType": "YulIdentifier", | |
| "src": "8706:32:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8706:39:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulIdentifier", | |
| "src": "8693:9:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "convert_t_enum$_RaffleState_$364_to_t_uint8", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8663:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulTypedName", | |
| "src": "8673:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8610:141:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "8835:79:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "8852:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "8901:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "convert_t_enum$_RaffleState_$364_to_t_uint8", | |
| "nodeType": "YulIdentifier", | |
| "src": "8857:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8857:50:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "8845:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "8845:63:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "8845:63:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_enum$_RaffleState_$364_to_t_uint8_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "8823:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "8830:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8757:157:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9031:137:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9041:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9053:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9064:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9049:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9049:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9041:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9134:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9147:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9158:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9143:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9143:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_enum$_RaffleState_$364_to_t_uint8_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9077:56:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9077:84:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9077:84:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_enum$_RaffleState_$364__to_t_uint8__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9003:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9015:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9026:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "8920:248:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9239:53:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "9256:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "9279:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "9261:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9261:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9249:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9249:37:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9249:37:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "9227:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "9234:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9174:118:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9396:124:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9406:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9418:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9429:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9414:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9414:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "9406:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "9486:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "9499:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9510:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "9495:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9495:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "9442:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9442:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9442:71:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "9368:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "9380:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "9391:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9298:222:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9554:152:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9571:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9574:77:5", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9564:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9564:88:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9564:88:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9668:1:5", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9671:4:5", | |
| "type": "", | |
| "value": "0x12" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9661:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9661:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9661:15:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9692:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9695:4:5", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "9685:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9685:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9685:15:5" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "9526:180:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9746:142:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9756:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9779:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "9761:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9761:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9756:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9790:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9813:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "9795:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9795:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9790:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9837:22:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x12", | |
| "nodeType": "YulIdentifier", | |
| "src": "9839:16:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9839:18:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9839:18:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9834:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "9827:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9827:9:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "9824:35:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "9868:14:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "9877:1:5" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "9880:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mod", | |
| "nodeType": "YulIdentifier", | |
| "src": "9873:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9873:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulIdentifier", | |
| "src": "9868:1:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "mod_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "9735:1:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "9738:1:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "r", | |
| "nodeType": "YulTypedName", | |
| "src": "9744:1:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "9712:176:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "9922:152:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9939:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "9942:77:5", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "9932:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "9932:88:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "9932:88:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10036:1:5", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10039:4:5", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10029:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10029:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10029:15:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10060:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10063:4:5", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "10053:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10053:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10053:15:5" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "9894:180:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10124:261:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10134:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10157:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "10139:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10139:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10134:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10168:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10191:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "10173:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10173:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10168:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10331:22:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "10333:16:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10333:18:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10333:18:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10252:1:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10259:66:5", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10327:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "10255:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10255:74:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "10249:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10249:81:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "10246:107:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10363:16:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "10374:1:5" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "10377:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10370:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10370:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "10363:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "10111:1:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "10114:1:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "10120:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10080:305:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10487:73:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10504:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "10509:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10497:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10497:19:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10497:19:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10525:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10544:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10549:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10540:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10540:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10525:11:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10459:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "10464:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10475:11:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10391:169:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10672:58:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "10694:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10702:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "10690:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10690:14:5" | |
| }, | |
| { | |
| "hexValue": "526166666c652069732066756c6c", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "10706:16:5", | |
| "type": "", | |
| "value": "Raffle is full" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "10683:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10683:40:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10683:40:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "10664:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10566:164:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "10882:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "10892:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10958:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "10963:2:5", | |
| "type": "", | |
| "value": "14" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "10899:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10899:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "10892:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11064:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d", | |
| "nodeType": "YulIdentifier", | |
| "src": "10975:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "10975:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "10975:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11077:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11088:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11093:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11084:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11084:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "11077:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "10870:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "10878:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "10736:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11279:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11289:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11301:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11312:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11297:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11297:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11289:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11336:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11347:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11332:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11332:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11355:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "11361:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "11351:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11351:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11325:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11325:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11325:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11381:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11515:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11389:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11389:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "11381:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_ea40e525bfb03c75e2e987191be0965212eef6a37807218e5bafe92e4936ff3d__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "11259:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "11274:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11108:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11639:118:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "11661:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11669:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11657:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11657:14:5" | |
| }, | |
| { | |
| "hexValue": "596f752068617665207265616368656420796f7572206d6178696d756d20656e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "11673:34:5", | |
| "type": "", | |
| "value": "You have reached your maximum en" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11650:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11650:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11650:58:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "11729:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11737:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "11725:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11725:15:5" | |
| }, | |
| { | |
| "hexValue": "7472696573", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "11742:7:5", | |
| "type": "", | |
| "value": "tries" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "11718:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11718:32:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "11718:32:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "11631:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11533:224:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "11909:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "11919:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11985:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "11990:2:5", | |
| "type": "", | |
| "value": "37" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "11926:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "11926:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "11919:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12091:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e", | |
| "nodeType": "YulIdentifier", | |
| "src": "12002:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12002:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12002:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12104:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "12115:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12120:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12111:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12111:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "12104:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "11897:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "11905:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "11763:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12306:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12316:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12328:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12339:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12324:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12324:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12316:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12363:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12374:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12359:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12359:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12382:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "12388:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "12378:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12378:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12352:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12352:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12352:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12408:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12542:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "12416:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12416:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "12408:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_3af146b15f312905d1a2aaacc9c5efe5b96d7073ea772c57996e3124c4d81e7e__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "12286:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "12301:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12135:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12605:146:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12615:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "12638:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "12620:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12620:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "12615:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12649:25:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "12672:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "12654:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12654:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "12649:1:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12696:22:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "12698:16:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12698:18:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12698:18:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "12690:1:5" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "12693:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "12687:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12687:8:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "12684:34:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "12728:17:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "12740:1:5" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "12743:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "12736:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12736:9:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulIdentifier", | |
| "src": "12728:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "checked_sub_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "12591:1:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "12594:1:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "diff", | |
| "nodeType": "YulTypedName", | |
| "src": "12600:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12560:191:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "12863:125:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "12885:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12893:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12881:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12881:14:5" | |
| }, | |
| { | |
| "hexValue": "596f75206d757374207761697420313230207365636f6e6473206265666f7265", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "12897:34:5", | |
| "type": "", | |
| "value": "You must wait 120 seconds before" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12874:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12874:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12874:58:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "12953:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "12961:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "12949:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12949:15:5" | |
| }, | |
| { | |
| "hexValue": "2072652d656e746572696e67", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "12966:14:5", | |
| "type": "", | |
| "value": " re-entering" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "12942:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "12942:39:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "12942:39:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "12855:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12757:231:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13140:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13150:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13216:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13221:2:5", | |
| "type": "", | |
| "value": "44" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13157:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13157:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13150:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13322:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145", | |
| "nodeType": "YulIdentifier", | |
| "src": "13233:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13233:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13233:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13335:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "13346:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13351:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13342:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13342:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "13335:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "13128:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "13136:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "12994:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13537:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13547:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13559:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13570:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13555:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13555:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13547:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13594:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13605:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13590:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13590:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13613:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "13619:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "13609:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13609:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13583:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13583:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13583:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "13639:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13773:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "13647:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13647:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "13639:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "13517:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "13532:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13366:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "13897:69:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "13919:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "13927:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "13915:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13915:14:5" | |
| }, | |
| { | |
| "hexValue": "4d696e696d756d20656e74727920666565206e6f74206d6574", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "13931:27:5", | |
| "type": "", | |
| "value": "Minimum entry fee not met" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "13908:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "13908:51:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "13908:51:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "13889:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13791:175:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14118:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14128:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14194:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14199:2:5", | |
| "type": "", | |
| "value": "25" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14135:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14135:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14128:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14300:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0", | |
| "nodeType": "YulIdentifier", | |
| "src": "14211:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14211:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14211:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14313:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "14324:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14329:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14320:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14320:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "14313:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "14106:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "14114:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "13972:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14515:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14525:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14537:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14548:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14533:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14533:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14525:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14572:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14583:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14568:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14568:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14591:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "14597:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "14587:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14587:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "14561:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14561:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14561:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14617:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14751:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "14625:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14625:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "14617:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_8bac21bf597641159375c3d898ed090314a73d79e7b2d328bee5612670be0aa0__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "14495:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "14510:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14344:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14812:190:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14822:33:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "14849:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "14831:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14831:24:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "14822:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "14945:22:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "14947:16:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14947:18:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "14947:18:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "14870:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14877:66:5", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "14867:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14867:77:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "14864:103:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "14976:20:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "14987:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "14994:1:5", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "14983:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "14983:13:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "14976:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "increment_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "14798:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "14808:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "14769:233:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15114:76:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "15136:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15144:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15132:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15132:14:5" | |
| }, | |
| { | |
| "hexValue": "4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "15148:34:5", | |
| "type": "", | |
| "value": "Only owner can run this function" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "15125:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15125:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15125:58:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "15106:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15008:182:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15342:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15352:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15418:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15423:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "15359:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15359:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15352:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15524:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e", | |
| "nodeType": "YulIdentifier", | |
| "src": "15435:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15435:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15435:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15537:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "15548:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15553:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15544:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15544:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "15537:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "15330:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "15338:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15196:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "15739:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15749:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15761:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15772:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15757:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15757:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15749:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15796:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "15807:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "15792:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15792:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15815:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "15821:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "15811:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15811:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "15785:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15785:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "15785:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "15841:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15975:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "15849:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "15849:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "15841:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_d85601a063fecfbac06458a795616db6c80f12af8c4b488aa364a0e149304a8e__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "15719:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "15734:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15568:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16099:75:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "16121:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16129:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16117:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16117:14:5" | |
| }, | |
| { | |
| "hexValue": "4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "16133:33:5", | |
| "type": "", | |
| "value": "Only VRFCoordinator can fulfill" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "16110:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16110:57:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16110:57:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "16091:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "15993:181:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16326:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16336:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16402:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16407:2:5", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "16343:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16343:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16336:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16508:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
| "nodeType": "YulIdentifier", | |
| "src": "16419:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16419:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16419:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16521:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "16532:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16537:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16528:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16528:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "16521:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "16314:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "16322:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16180:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "16723:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16733:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16745:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16756:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16741:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16741:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16733:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16780:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "16791:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "16776:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16776:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16799:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "16805:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "16795:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16795:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "16769:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16769:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "16769:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "16825:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16959:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "16833:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "16833:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "16825:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "16703:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "16718:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16552:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17019:52:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17029:35:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17054:2:5", | |
| "type": "", | |
| "value": "96" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17058:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shl", | |
| "nodeType": "YulIdentifier", | |
| "src": "17050:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17050:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "17029:8:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_left_96", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17000:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "17010:8:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "16977:94:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17124:47:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17134:31:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17159:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_96", | |
| "nodeType": "YulIdentifier", | |
| "src": "17145:13:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17145:20:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17134:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_uint160", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17106:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "17116:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17077:94:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17224:53:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17234:37:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17265:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_uint160", | |
| "nodeType": "YulIdentifier", | |
| "src": "17245:19:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17245:26:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17234:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_address", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17206:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "17216:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17177:100:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17366:74:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17383:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17426:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "17408:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17408:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_address", | |
| "nodeType": "YulIdentifier", | |
| "src": "17388:19:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17388:45:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "17376:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17376:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17376:58:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17354:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "17361:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17283:157:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17493:32:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17503:16:5", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17514:5:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "17503:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17475:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "17485:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17446:79:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17614:74:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17631:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "17674:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "17656:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17656:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "17636:19:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17636:45:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "17624:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17624:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17624:58:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "17602:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "17609:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17531:157:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "17838:253:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "17911:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17920:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "17849:61:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17849:75:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17849:75:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "17933:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17944:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "17949:2:5", | |
| "type": "", | |
| "value": "20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "17940:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17940:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "17933:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "18024:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18033:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "17962:61:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "17962:75:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "17962:75:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18046:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18057:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18062:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "18053:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18053:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18046:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18075:10:5", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "18082:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "18075:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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": "17809:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "17815:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "17823:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "17834:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "17694:397:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18125:152:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18142:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18145:77:5", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18135:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18135:88:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18135:88:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18239:1:5", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18242:4:5", | |
| "type": "", | |
| "value": "0x32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18232:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18232:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18232:15:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18263:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18266:4:5", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "18256:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18256:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18256:15:5" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x32", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "18097:180:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18311:152:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18328:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18331:77:5", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18321:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18321:88:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18321:88:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18425:1:5", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18428:4:5", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "18418:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18418:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18418:15:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18449:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18452:4:5", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "18442:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18442:15:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18442:15:5" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "18283:180:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18532:80:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18542:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "18557:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "18551:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18551:13:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18542:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "18600:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "18573:26:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18573:33:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18573:33:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "18510:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "18518:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "18526:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18469:143:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18695:274:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "18741:83:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "18743:77:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18743:79:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "18743:79:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "18716:7:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "18725:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "18712:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18712:23:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18737:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "18708:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18708:32:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "18705:119:5" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "18834:128:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "18849:15:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "18863:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "18853:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "18878:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "18924:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "18935:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "18920:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18920:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "18944:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "18888:31:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "18888:64:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "18878:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "18665:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "18676:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "18688:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18618:351:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19081:71:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "19103:6:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19111:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "19099:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19099:14:5" | |
| }, | |
| { | |
| "hexValue": "4e6f7420656e6f756768204c494e4b20696e20636f6e7472616374", | |
| "kind": "string", | |
| "nodeType": "YulLiteral", | |
| "src": "19115:29:5", | |
| "type": "", | |
| "value": "Not enough LINK in contract" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19092:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19092:53:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19092:53:5" | |
| } | |
| ] | |
| }, | |
| "name": "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "19073:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "18975:177:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19304:220:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19314:74:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "19380:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19385:2:5", | |
| "type": "", | |
| "value": "27" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "19321:58:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19321:67:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "19314:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "19486:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "store_literal_in_memory_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9", | |
| "nodeType": "YulIdentifier", | |
| "src": "19397:88:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19397:93:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19397:93:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19499:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "19510:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19515:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "19506:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19506:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "19499:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "19292:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "19300:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19158:366:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "19701:248:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19711:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "19723:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19734:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "19719:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19719:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "19711:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "19758:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "19769:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "19754:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19754:17:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "19777:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "19783:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "19773:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19773:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "19747:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19747:47:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "19747:47:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "19803:139:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "19937:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "19811:124:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "19811:131:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "19803:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_stringliteral_8865629ea9f44bfae91bafa09e8cc5e6b0d7f8c2ba37eb98c66643d443b1f6f9__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "19681:9:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "19696:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19530:419:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20081:206:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20091:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20103:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20114:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20099:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20099:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "20091:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "20171:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20184:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20195:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20180:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20180:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "20127:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20127:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20127:71:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "20252:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "20265:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20276:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20261:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20261:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "20208:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20208:72:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20208:72:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "20045:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "20057:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "20065:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "20076:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "19955:332:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20351:40:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20362:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20378:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "20372:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20372:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20362:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "20334:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "20344:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20293:98:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20492:73:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20509:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20514:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20502:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20502:19:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20502:19:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20530:29:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20549:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20554:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20545:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20545:14:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "20530:11:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "20464:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "20469:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "20480:11:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20397:168:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20620:258:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "20630:10:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20639:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "20634:1:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20699:63:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20724:3:5" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20729:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20720:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20720:11:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "20743:3:5" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20748:1:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20739:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20739:11:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "20733:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20733:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20713:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20713:39:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20713:39:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20660:1:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20663:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "20657:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20657:13:5" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "20671:19:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20673:15:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20682:1:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20685:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20678:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20678:10:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20673:1:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "20653:3:5", | |
| "statements": [] | |
| }, | |
| "src": "20649:113:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20796:76:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "20846:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20851:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20842:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20842:16:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20860:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "20835:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20835:27:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "20835:27:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "20777:1:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "20780:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "20774:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20774:13:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "20771:101:5" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "20602:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "20607:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "20612:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20571:307:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "20932:54:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "20942:38:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "20960:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20967:2:5", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "20956:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20956:14:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "20976:2:5", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "20972:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20972:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "20952:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "20952:28:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "20942:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "20915:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "20925:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20884:102:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21082:270:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "21092:52:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21138:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_bytes_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "21106:31:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21106:38:5" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "21096:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21153:77:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21218:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21223:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21160:57:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21160:70:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21153:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21265:5:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21272:4:5", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21261:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21261:16:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21279:3:5" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21284:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "21239:21:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21239:52:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21239:52:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21300:46:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "21311:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "21338:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "21316:21:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21316:29:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21307:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21307:39:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "21300:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21063:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "21070:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "21078:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "20992:360:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21530:357:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21540:26:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21552:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21563:2:5", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21548:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21548:18:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "21540:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "21620:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21633:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21644:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21629:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21629:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21576:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21576:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21576:71:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "21701:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21714:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21725:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21710:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21710:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21657:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21657:72:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21657:72:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21750:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "21761:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "21746:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21746:18:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "21770:4:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "21776:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "21766:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21766:20:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "21739:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21739:48:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "21739:48:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21796:84:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "21866:6:5" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "21875:4:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "21804:61:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21804:76:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "21796:4:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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": "21486:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "21498:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "21506:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "21514:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "21525:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21358:529:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "21935:48:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "21945:32:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "21970:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "21963:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21963:13:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "21956:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "21956:21:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "21945:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "21917:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "21927:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21893:90:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22029:76:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22083:16:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22092:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22095:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "22085:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22085:12:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22085:12:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22052:5:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22074:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bool", | |
| "nodeType": "YulIdentifier", | |
| "src": "22059:14:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22059:21:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "22049:2:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22049:32:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "22042:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22042:40:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "22039:60:5" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_bool", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "22022:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "21989:116:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22171:77:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22181:22:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "22196:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "22190:5:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22190:13:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22181:5:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "22236:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_bool", | |
| "nodeType": "YulIdentifier", | |
| "src": "22212:23:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22212:30:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22212:30:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_bool_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "22149:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "22157:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "22165:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22111:137:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22328:271:5", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22374:83:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "22376:77:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22376:79:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22376:79:5" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "22349:7:5" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22358:9:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "22345:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22345:23:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22370:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "22341:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22341:32:5" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "22338:119:5" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "22467:125:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "22482:15:5", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22496:1:5", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "22486:6:5", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22511:71:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22554:9:5" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "22565:6:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22550:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22550:22:5" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "22574:7:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_bool_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "22521:28:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22521:61:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "22511:6:5" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_bool_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "22298:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "22309:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "22321:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22254:345:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "22787:371:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "22797:27:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22809:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22820:3:5", | |
| "type": "", | |
| "value": "128" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22805:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22805:19:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "22797:4:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "22878:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22891:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22902:1:5", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22887:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22887:17:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22834:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22834:71:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22834:71:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "22959:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "22972:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "22983:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "22968:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22968:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22915:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22915:72:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22915:72:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value2", | |
| "nodeType": "YulIdentifier", | |
| "src": "23041:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23054:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23065:2:5", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23050:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23050:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_address_to_t_address_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "22997:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "22997:72:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "22997:72:5" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value3", | |
| "nodeType": "YulIdentifier", | |
| "src": "23123:6:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "23136:9:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23147:2:5", | |
| "type": "", | |
| "value": "96" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23132:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23132:18:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "23079:43:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23079:72:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23079:72:5" | |
| } | |
| ] | |
| }, | |
| "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": "22735:9:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value3", | |
| "nodeType": "YulTypedName", | |
| "src": "22747:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value2", | |
| "nodeType": "YulTypedName", | |
| "src": "22755:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "22763:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "22771:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "22782:4:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "22605:553:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23211:32:5", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23221:16:5", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23232:5:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulIdentifier", | |
| "src": "23221:7:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23193:5:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "aligned", | |
| "nodeType": "YulTypedName", | |
| "src": "23203:7:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23164:79:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23332:74:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23349:3:5" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "23392:5:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "23374:17:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23374:24:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "leftAlign_t_bytes32", | |
| "nodeType": "YulIdentifier", | |
| "src": "23354:19:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23354:45:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "23342:6:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23342:58:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23342:58:5" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "23320:5:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "23327:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23249:157:5" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "23556:253:5", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "23629:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23638:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "23567:61:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23567:75:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23567:75:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23651:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23662:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23667:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23658:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23658:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23651:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "23742:6:5" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23751:3:5" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "23680:61:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23680:75:5" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "23680:75:5" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23764:19:5", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23775:3:5" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "23780:2:5", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "23771:3:5" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "23771:12:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23764:3:5" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "23793:10:5", | |
| "value": { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "23800:3:5" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "23793:3:5" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "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": "23527:3:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "23533:6:5", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "23541:6:5", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "23552:3:5", | |
| "type": "" | |
| } | |
| ], | |
| "src": "23412:397:5" | |
| } | |
| ] | |
| }, | |
| "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_$364(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_RaffleState_$364(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_RaffleState_$364(value)\n }\n\n function convert_t_enum$_RaffleState_$364_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_RaffleState_$364(value)\n }\n\n function abi_encode_t_enum$_RaffleState_$364_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_RaffleState_$364_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_RaffleState_$364__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_RaffleState_$364_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_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 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 store_literal_in_memory_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145(memPtr) {\n\n mstore(add(memPtr, 0), \"You must wait 120 seconds before\")\n\n mstore(add(memPtr, 32), \" re-entering\")\n\n }\n\n function abi_encode_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145__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_37f7aa592e7b38e80a7c3892dd9def8a19bf2422d6e60ba453466a0e7b6c8145_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 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": 5, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": { | |
| "73": [ | |
| { | |
| "length": 32, | |
| "start": 3987 | |
| }, | |
| { | |
| "length": 32, | |
| "start": 4418 | |
| } | |
| ], | |
| "75": [ | |
| { | |
| "length": 32, | |
| "start": 3003 | |
| }, | |
| { | |
| "length": 32, | |
| "start": 4478 | |
| } | |
| ] | |
| }, | |
| "linkReferences": {}, | |
| "object": "6080604052600436106101665760003560e01c806394985ddd116100d1578063cd7688c61161008a578063f23f3ba511610064578063f23f3ba5146104ff578063f5e365d21461052a578063f71d96cb14610567578063f98e6b91146105a457610166565b8063cd7688c614610480578063d39fa23314610497578063dbdff2c1146104d457610166565b806394985ddd146103705780639c6f87e914610399578063a5c0449f146103c4578063b375603c146103ed578063b5c255d514610418578063c19d93fb1461045557610166565b80634ed02622116101235780634ed026221461027057806350b447121461029b5780635d495aea146102d85780638b5b9ccc146102ef5780638da5cb5b1461031a5780638e7ea5b21461034557610166565b806312065fe01461016b5780631d84720a1461019657806323413198146101c15780632cfcc539146101fe5780633aae0e071461020857806342619f6614610245575b600080fd5b34801561017757600080fd5b506101806105e1565b60405161018d91906113bd565b60405180910390f35b3480156101a257600080fd5b506101ab6105e9565b6040516101b891906113bd565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e3919061143b565b610614565b6040516101f591906113bd565b60405180910390f35b61020661065d565b005b34801561021457600080fd5b5061022f600480360381019061022a9190611494565b61094d565b60405161023c91906114e2565b60405180910390f35b34801561025157600080fd5b5061025a61098a565b60405161026791906113bd565b60405180910390f35b34801561027c57600080fd5b50610285610990565b60405161029291906115bb565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190611494565b6109e8565b6040516102cf91906113bd565b60405180910390f35b3480156102e457600080fd5b506102ed610a0c565b005b3480156102fb57600080fd5b50610304610aa7565b604051610311919061169b565b60405180910390f35b34801561032657600080fd5b5061032f610b35565b60405161033c91906116cc565b60405180910390f35b34801561035157600080fd5b5061035a610b5b565b60405161036791906116cc565b60405180910390f35b34801561037c57600080fd5b506103976004803603810190610392919061171d565b610bb9565b005b3480156103a557600080fd5b506103ae610c55565b6040516103bb91906113bd565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190611494565b610cb3565b005b3480156103f957600080fd5b50610402610e81565b60405161040f91906113bd565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a9190611494565b610e87565b60405161044c91906114e2565b60405180910390f35b34801561046157600080fd5b5061046a610eba565b60405161047791906117d4565b60405180910390f35b34801561048c57600080fd5b50610495610ecd565b005b3480156104a357600080fd5b506104be60048036038101906104b99190611494565b610f68565b6040516104cb91906113bd565b60405180910390f35b3480156104e057600080fd5b506104e9610f8c565b6040516104f691906117fe565b60405180910390f35b34801561050b57600080fd5b5061051461107f565b60405161052191906113bd565b60405180910390f35b34801561053657600080fd5b50610551600480360381019061054c919061143b565b611085565b60405161055e91906113bd565b60405180910390f35b34801561057357600080fd5b5061058e60048036038101906105899190611494565b61109d565b60405161059b91906114e2565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c69190611494565b6110dc565b6040516105d891906116cc565b60405180910390f35b600047905090565b6000806001600c805490506008546106019190611848565b61060b91906118a8565b90508091505090565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600b54600c80549050106106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d9061195b565b60405180910390fd5b6003600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410610728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071f906119ed565b60405180910390fd5b6078600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426107759190611a0d565b116107b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ac90611ab3565b60405180910390fd5b662386f26fc100003410156107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f690611b1f565b60405180910390fd5b600061080b6009611125565b9050600c81908060018154018082558091505060019003906000526020600020016000909190919091505533600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061093b90611b3f565b919050555061094a600961110f565b50565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6060600c8054806020026020016040519081016040528092919081815260200182805480156109de57602002820191906000526020600020905b8154815260200190600101908083116109ca575b5050505050905090565b600c81815481106109f857600080fd5b906000526020600020016000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9390611bd4565b60405180910390fd5b610aa4610f8c565b50565b60606002805480602002602001604051908101604052809291908181526020018280548015610b2b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610ae1575b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806001600c80549050600854610b739190611848565b610b7d91906118a8565b9050600d600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3e90611c40565b60405180910390fd5b610c518282611133565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1642604051602001610c8c929190611cc9565b6040516020818303038152906040528051906020012060001c600881905550600854905090565b60006001600280549050600854610cca9190611848565b610cd491906118a8565b90506002600182610ce59190611a0d565b81548110610cf657610cf5611cf5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610d66573d6000803e3d6000fd5b506002600182610d769190611a0d565b81548110610d8757610d86611cf5565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660046000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060036000815480929190610e1890611b3f565b9190505550600067ffffffffffffffff811115610e3857610e37611d24565b5b604051908082528060200260200182016040528015610e665781602001602082028036833780820191505090505b5060029080519060200190610e7c9291906112fd565b505050565b60035481565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611bd4565b60405180910390fd5b610f65610c55565b50565b600a8181548110610f7857600080fd5b906000526020600020016000915090505481565b60006006547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fea91906116cc565b602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b9190611d68565b101561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611de1565b60405180910390fd5b61107a60055460065461113e565b905090565b600b5481565b600f6020528060005260406000206000915090505481565b600281815481106110ad57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6001816000016000828254019250508190555050565b600081600001549050919050565b806008819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016111b2929190611e01565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016111df93929190611ec3565b6020604051808303816000875af11580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611f39565b506000611244846000306000808981526020019081526020016000205461128e565b905060016000808681526020019081526020016000205461126591906118a8565b6000808681526020019081526020016000208190555061128584826112ca565b91505092915050565b6000848484846040516020016112a79493929190611f66565b6040516020818303038152906040528051906020012060001c9050949350505050565b600082826040516020016112df929190611fcc565b60405160208183030381529060405280519060200120905092915050565b828054828255906000526020600020908101928215611376579160200282015b828111156113755782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061131d565b5b5090506113839190611387565b5090565b5b808211156113a0576000816000905550600101611388565b5090565b6000819050919050565b6113b7816113a4565b82525050565b60006020820190506113d260008301846113ae565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611408826113dd565b9050919050565b611418816113fd565b811461142357600080fd5b50565b6000813590506114358161140f565b92915050565b600060208284031215611451576114506113d8565b5b600061145f84828501611426565b91505092915050565b611471816113a4565b811461147c57600080fd5b50565b60008135905061148e81611468565b92915050565b6000602082840312156114aa576114a96113d8565b5b60006114b88482850161147f565b91505092915050565b60006114cc826113dd565b9050919050565b6114dc816114c1565b82525050565b60006020820190506114f760008301846114d3565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611532816113a4565b82525050565b60006115448383611529565b60208301905092915050565b6000602082019050919050565b6000611568826114fd565b6115728185611508565b935061157d83611519565b8060005b838110156115ae5781516115958882611538565b97506115a083611550565b925050600181019050611581565b5085935050505092915050565b600060208201905081810360008301526115d5818461155d565b905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611612816114c1565b82525050565b60006116248383611609565b60208301905092915050565b6000602082019050919050565b6000611648826115dd565b61165281856115e8565b935061165d836115f9565b8060005b8381101561168e5781516116758882611618565b975061168083611630565b925050600181019050611661565b5085935050505092915050565b600060208201905081810360008301526116b5818461163d565b905092915050565b6116c6816113fd565b82525050565b60006020820190506116e160008301846116bd565b92915050565b6000819050919050565b6116fa816116e7565b811461170557600080fd5b50565b600081359050611717816116f1565b92915050565b60008060408385031215611734576117336113d8565b5b600061174285828601611708565b92505060206117538582860161147f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6003811061179d5761179c61175d565b5b50565b60008190506117ae8261178c565b919050565b60006117be826117a0565b9050919050565b6117ce816117b3565b82525050565b60006020820190506117e960008301846117c5565b92915050565b6117f8816116e7565b82525050565b600060208201905061181360008301846117ef565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611853826113a4565b915061185e836113a4565b92508261186e5761186d611819565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118b3826113a4565b91506118be836113a4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156118f3576118f2611879565b5b828201905092915050565b600082825260208201905092915050565b7f526166666c652069732066756c6c000000000000000000000000000000000000600082015250565b6000611945600e836118fe565b91506119508261190f565b602082019050919050565b6000602082019050818103600083015261197481611938565b9050919050565b7f596f752068617665207265616368656420796f7572206d6178696d756d20656e60008201527f7472696573000000000000000000000000000000000000000000000000000000602082015250565b60006119d76025836118fe565b91506119e28261197b565b604082019050919050565b60006020820190508181036000830152611a06816119ca565b9050919050565b6000611a18826113a4565b9150611a23836113a4565b925082821015611a3657611a35611879565b5b828203905092915050565b7f596f75206d757374207761697420313230207365636f6e6473206265666f726560008201527f2072652d656e746572696e670000000000000000000000000000000000000000602082015250565b6000611a9d602c836118fe565b9150611aa882611a41565b604082019050919050565b60006020820190508181036000830152611acc81611a90565b9050919050565b7f4d696e696d756d20656e74727920666565206e6f74206d657400000000000000600082015250565b6000611b096019836118fe565b9150611b1482611ad3565b602082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b6000611b4a826113a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b7d57611b7c611879565b5b600182019050919050565b7f4f6e6c79206f776e65722063616e2072756e20746869732066756e6374696f6e600082015250565b6000611bbe6020836118fe565b9150611bc982611b88565b602082019050919050565b60006020820190508181036000830152611bed81611bb1565b9050919050565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b6000611c2a601f836118fe565b9150611c3582611bf4565b602082019050919050565b60006020820190508181036000830152611c5981611c1d565b9050919050565b60008160601b9050919050565b6000611c7882611c60565b9050919050565b6000611c8a82611c6d565b9050919050565b611ca2611c9d826113fd565b611c7f565b82525050565b6000819050919050565b611cc3611cbe826113a4565b611ca8565b82525050565b6000611cd58285611c91565b601482019150611ce58284611cb2565b6020820191508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050611d6281611468565b92915050565b600060208284031215611d7e57611d7d6113d8565b5b6000611d8c84828501611d53565b91505092915050565b7f4e6f7420656e6f756768204c494e4b20696e20636f6e74726163740000000000600082015250565b6000611dcb601b836118fe565b9150611dd682611d95565b602082019050919050565b60006020820190508181036000830152611dfa81611dbe565b9050919050565b6000604082019050611e1660008301856117ef565b611e2360208301846113ae565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e64578082015181840152602081019050611e49565b83811115611e73576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9582611e2a565b611e9f8185611e35565b9350611eaf818560208601611e46565b611eb881611e79565b840191505092915050565b6000606082019050611ed860008301866116bd565b611ee560208301856113ae565b8181036040830152611ef78184611e8a565b9050949350505050565b60008115159050919050565b611f1681611f01565b8114611f2157600080fd5b50565b600081519050611f3381611f0d565b92915050565b600060208284031215611f4f57611f4e6113d8565b5b6000611f5d84828501611f24565b91505092915050565b6000608082019050611f7b60008301876117ef565b611f8860208301866113ae565b611f9560408301856116bd565b611fa260608301846113ae565b95945050505050565b6000819050919050565b611fc6611fc1826116e7565b611fab565b82525050565b6000611fd88285611fb5565b602082019150611fe88284611cb2565b602082019150819050939250505056fea264697066735822122092dcf7bc1fa1df60ba197347db8323b4c213adb6024a01cae2de10c2442d51d464736f6c634300080b0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x166 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xCD7688C6 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xF23F3BA5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xF23F3BA5 EQ PUSH2 0x4FF JUMPI DUP1 PUSH4 0xF5E365D2 EQ PUSH2 0x52A JUMPI DUP1 PUSH4 0xF71D96CB EQ PUSH2 0x567 JUMPI DUP1 PUSH4 0xF98E6B91 EQ PUSH2 0x5A4 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0xCD7688C6 EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0xD39FA233 EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x4D4 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x94985DDD EQ PUSH2 0x370 JUMPI DUP1 PUSH4 0x9C6F87E9 EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0xA5C0449F EQ PUSH2 0x3C4 JUMPI DUP1 PUSH4 0xB375603C EQ PUSH2 0x3ED JUMPI DUP1 PUSH4 0xB5C255D5 EQ PUSH2 0x418 JUMPI DUP1 PUSH4 0xC19D93FB EQ PUSH2 0x455 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x4ED02622 GT PUSH2 0x123 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x29B JUMPI DUP1 PUSH4 0x5D495AEA EQ PUSH2 0x2D8 JUMPI DUP1 PUSH4 0x8B5B9CCC EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x31A JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x345 JUMPI PUSH2 0x166 JUMP JUMPDEST DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x1D84720A EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x23413198 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2CFCC539 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x3AAE0E07 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0x245 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x180 PUSH2 0x5E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AB PUSH2 0x5E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x143B JUMP JUMPDEST PUSH2 0x614 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x206 PUSH2 0x65D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22A SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x94D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23C SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x98A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x267 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x285 PUSH2 0x990 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x292 SWAP2 SWAP1 PUSH2 0x15BB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2C2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BD SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x9E8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CF SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2ED PUSH2 0xA0C JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0xAA7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x311 SWAP2 SWAP1 PUSH2 0x169B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32F PUSH2 0xB35 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x33C SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35A PUSH2 0xB5B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x367 SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x397 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x392 SWAP2 SWAP1 PUSH2 0x171D JUMP JUMPDEST PUSH2 0xBB9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AE PUSH2 0xC55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BB SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3E6 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xCB3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x402 PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x40F SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x43F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x43A SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xE87 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x44C SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x461 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x46A PUSH2 0xEBA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x477 SWAP2 SWAP1 PUSH2 0x17D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x495 PUSH2 0xECD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4BE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4B9 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0xF68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4CB SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E9 PUSH2 0xF8C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F6 SWAP2 SWAP1 PUSH2 0x17FE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x514 PUSH2 0x107F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x521 SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x536 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x551 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x54C SWAP2 SWAP1 PUSH2 0x143B JUMP JUMPDEST PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x55E SWAP2 SWAP1 PUSH2 0x13BD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x573 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x58E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x589 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x109D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x59B SWAP2 SWAP1 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5CB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5C6 SWAP2 SWAP1 PUSH2 0x1494 JUMP JUMPDEST PUSH2 0x10DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D8 SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x1 PUSH1 0xC DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0x601 SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0x60B SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE 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 0xB SLOAD PUSH1 0xC DUP1 SLOAD SWAP1 POP LT PUSH2 0x6A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x69D SWAP1 PUSH2 0x195B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 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 LT PUSH2 0x728 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x71F SWAP1 PUSH2 0x19ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x78 PUSH1 0xF PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD TIMESTAMP PUSH2 0x775 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST GT PUSH2 0x7B5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7AC SWAP1 PUSH2 0x1AB3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH7 0x2386F26FC10000 CALLVALUE LT ISZERO PUSH2 0x7FF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7F6 SWAP1 PUSH2 0x1B1F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x80B PUSH1 0x9 PUSH2 0x1125 JUMP JUMPDEST SWAP1 POP PUSH1 0xC 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 0xD 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 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 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x93B SWAP1 PUSH2 0x1B3F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x94A PUSH1 0x9 PUSH2 0x110F JUMP JUMPDEST 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 0xC 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 0x9DE 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 0x9CA JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xC DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x9F8 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 0xA9C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA93 SWAP1 PUSH2 0x1BD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAA4 PUSH2 0xF8C 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 0xB2B 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 0xAE1 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 0x1 PUSH1 0xC DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xB73 SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0xB7D SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP PUSH1 0xD 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 SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xC47 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC3E SWAP1 PUSH2 0x1C40 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC51 DUP3 DUP3 PUSH2 0x1133 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 0xC8C SWAP3 SWAP2 SWAP1 PUSH2 0x1CC9 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 0x0 PUSH1 0x1 PUSH1 0x2 DUP1 SLOAD SWAP1 POP PUSH1 0x8 SLOAD PUSH2 0xCCA SWAP2 SWAP1 PUSH2 0x1848 JUMP JUMPDEST PUSH2 0xCD4 SWAP2 SWAP1 PUSH2 0x18A8 JUMP JUMPDEST SWAP1 POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xCE5 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xCF6 JUMPI PUSH2 0xCF5 PUSH2 0x1CF5 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 0xD66 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x2 PUSH1 0x1 DUP3 PUSH2 0xD76 SWAP2 SWAP1 PUSH2 0x1A0D JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xD87 JUMPI PUSH2 0xD86 PUSH2 0x1CF5 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 0xE18 SWAP1 PUSH2 0x1B3F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE38 JUMPI PUSH2 0xE37 PUSH2 0x1D24 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 0xE66 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 0xE7C SWAP3 SWAP2 SWAP1 PUSH2 0x12FD 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 0xF5D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF54 SWAP1 PUSH2 0x1BD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xF65 PUSH2 0xC55 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0xA DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 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 0xFEA SWAP2 SWAP1 PUSH2 0x16CC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1007 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 0x102B SWAP2 SWAP1 PUSH2 0x1D68 JUMP JUMPDEST LT ISZERO PUSH2 0x106C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1063 SWAP1 PUSH2 0x1DE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x107A PUSH1 0x5 SLOAD PUSH1 0x6 SLOAD PUSH2 0x113E JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH1 0xF 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 0x10AD 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 0xD 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 0x11B2 SWAP3 SWAP2 SWAP1 PUSH2 0x1E01 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 0x11DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1EC3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11FE 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 0x1222 SWAP2 SWAP1 PUSH2 0x1F39 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1244 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x128E 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 0x1265 SWAP2 SWAP1 PUSH2 0x18A8 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 0x1285 DUP5 DUP3 PUSH2 0x12CA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x12A7 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1F66 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 0x12DF SWAP3 SWAP2 SWAP1 PUSH2 0x1FCC 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 0x1376 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1375 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 0x131D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x1383 SWAP2 SWAP1 PUSH2 0x1387 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x13A0 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x1388 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13B7 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13D2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x13AE 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 0x1408 DUP3 PUSH2 0x13DD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1418 DUP2 PUSH2 0x13FD JUMP JUMPDEST DUP2 EQ PUSH2 0x1423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1435 DUP2 PUSH2 0x140F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1451 JUMPI PUSH2 0x1450 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x145F DUP5 DUP3 DUP6 ADD PUSH2 0x1426 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1471 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP2 EQ PUSH2 0x147C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x148E DUP2 PUSH2 0x1468 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14AA JUMPI PUSH2 0x14A9 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x14B8 DUP5 DUP3 DUP6 ADD PUSH2 0x147F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14CC DUP3 PUSH2 0x13DD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14DC DUP2 PUSH2 0x14C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14F7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x14D3 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 0x1532 DUP2 PUSH2 0x13A4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1544 DUP4 DUP4 PUSH2 0x1529 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 0x1568 DUP3 PUSH2 0x14FD JUMP JUMPDEST PUSH2 0x1572 DUP2 DUP6 PUSH2 0x1508 JUMP JUMPDEST SWAP4 POP PUSH2 0x157D DUP4 PUSH2 0x1519 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x15AE JUMPI DUP2 MLOAD PUSH2 0x1595 DUP9 DUP3 PUSH2 0x1538 JUMP JUMPDEST SWAP8 POP PUSH2 0x15A0 DUP4 PUSH2 0x1550 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1581 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 0x15D5 DUP2 DUP5 PUSH2 0x155D 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 0x1612 DUP2 PUSH2 0x14C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1624 DUP4 DUP4 PUSH2 0x1609 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 0x1648 DUP3 PUSH2 0x15DD JUMP JUMPDEST PUSH2 0x1652 DUP2 DUP6 PUSH2 0x15E8 JUMP JUMPDEST SWAP4 POP PUSH2 0x165D DUP4 PUSH2 0x15F9 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x168E JUMPI DUP2 MLOAD PUSH2 0x1675 DUP9 DUP3 PUSH2 0x1618 JUMP JUMPDEST SWAP8 POP PUSH2 0x1680 DUP4 PUSH2 0x1630 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1661 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 0x16B5 DUP2 DUP5 PUSH2 0x163D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16C6 DUP2 PUSH2 0x13FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x16E1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x16BD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x16FA DUP2 PUSH2 0x16E7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1705 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1717 DUP2 PUSH2 0x16F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1734 JUMPI PUSH2 0x1733 PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1742 DUP6 DUP3 DUP7 ADD PUSH2 0x1708 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1753 DUP6 DUP3 DUP7 ADD PUSH2 0x147F 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 0x179D JUMPI PUSH2 0x179C PUSH2 0x175D JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x17AE DUP3 PUSH2 0x178C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17BE DUP3 PUSH2 0x17A0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x17CE DUP2 PUSH2 0x17B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17E9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17C5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x17F8 DUP2 PUSH2 0x16E7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1813 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x17EF 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 0x1853 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x185E DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x186E JUMPI PUSH2 0x186D PUSH2 0x1819 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 0x18B3 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x18BE DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x18F3 JUMPI PUSH2 0x18F2 PUSH2 0x1879 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 0x526166666C652069732066756C6C000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1945 PUSH1 0xE DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1950 DUP3 PUSH2 0x190F 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 0x1974 DUP2 PUSH2 0x1938 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 0x19D7 PUSH1 0x25 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x19E2 DUP3 PUSH2 0x197B 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 0x1A06 DUP2 PUSH2 0x19CA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A18 DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A23 DUP4 PUSH2 0x13A4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1A36 JUMPI PUSH2 0x1A35 PUSH2 0x1879 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x596F75206D757374207761697420313230207365636F6E6473206265666F7265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2072652D656E746572696E670000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A9D PUSH1 0x2C DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1AA8 DUP3 PUSH2 0x1A41 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 0x1ACC DUP2 PUSH2 0x1A90 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4D696E696D756D20656E74727920666565206E6F74206D657400000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B09 PUSH1 0x19 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1B14 DUP3 PUSH2 0x1AD3 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 0x1B38 DUP2 PUSH2 0x1AFC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B4A DUP3 PUSH2 0x13A4 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x1B7D JUMPI PUSH2 0x1B7C PUSH2 0x1879 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 0x1BBE PUSH1 0x20 DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1BC9 DUP3 PUSH2 0x1B88 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 0x1BED DUP2 PUSH2 0x1BB1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C2A PUSH1 0x1F DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1C35 DUP3 PUSH2 0x1BF4 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 0x1C59 DUP2 PUSH2 0x1C1D 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 0x1C78 DUP3 PUSH2 0x1C60 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C8A DUP3 PUSH2 0x1C6D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CA2 PUSH2 0x1C9D DUP3 PUSH2 0x13FD JUMP JUMPDEST PUSH2 0x1C7F JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1CC3 PUSH2 0x1CBE DUP3 PUSH2 0x13A4 JUMP JUMPDEST PUSH2 0x1CA8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1CD5 DUP3 DUP6 PUSH2 0x1C91 JUMP JUMPDEST PUSH1 0x14 DUP3 ADD SWAP2 POP PUSH2 0x1CE5 DUP3 DUP5 PUSH2 0x1CB2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP 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 0x1D62 DUP2 PUSH2 0x1468 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D7E JUMPI PUSH2 0x1D7D PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1D8C DUP5 DUP3 DUP6 ADD PUSH2 0x1D53 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B20696E20636F6E74726163740000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DCB PUSH1 0x1B DUP4 PUSH2 0x18FE JUMP JUMPDEST SWAP2 POP PUSH2 0x1DD6 DUP3 PUSH2 0x1D95 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 0x1DFA DUP2 PUSH2 0x1DBE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1E16 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x17EF JUMP JUMPDEST PUSH2 0x1E23 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x13AE 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 0x1E64 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1E49 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1E73 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 0x1E95 DUP3 PUSH2 0x1E2A JUMP JUMPDEST PUSH2 0x1E9F DUP2 DUP6 PUSH2 0x1E35 JUMP JUMPDEST SWAP4 POP PUSH2 0x1EAF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1E46 JUMP JUMPDEST PUSH2 0x1EB8 DUP2 PUSH2 0x1E79 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1ED8 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x16BD JUMP JUMPDEST PUSH2 0x1EE5 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x13AE JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1EF7 DUP2 DUP5 PUSH2 0x1E8A 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 0x1F16 DUP2 PUSH2 0x1F01 JUMP JUMPDEST DUP2 EQ PUSH2 0x1F21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1F33 DUP2 PUSH2 0x1F0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1F4F JUMPI PUSH2 0x1F4E PUSH2 0x13D8 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F5D DUP5 DUP3 DUP6 ADD PUSH2 0x1F24 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1F7B PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x17EF JUMP JUMPDEST PUSH2 0x1F88 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x13AE JUMP JUMPDEST PUSH2 0x1F95 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x16BD JUMP JUMPDEST PUSH2 0x1FA2 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x13AE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FC6 PUSH2 0x1FC1 DUP3 PUSH2 0x16E7 JUMP JUMPDEST PUSH2 0x1FAB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FD8 DUP3 DUP6 PUSH2 0x1FB5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0x1FE8 DUP3 DUP5 PUSH2 0x1CB2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP3 0xDC 0xF7 0xBC 0x1F LOG1 0xDF PUSH1 0xBA NOT PUSH20 0x47DB8323B4C213ADB6024A01CAE2DE10C2442D51 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD SIGNEXTEND STOP CALLER ", | |
| "sourceMap": "173:5466:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2345:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4640:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4306:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2802:980;;;:::i;:::-;;2185:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;631:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2578:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;952:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4187:73;;;;;;;;;;;;;:::i;:::-;;2472:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;218:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4432:202;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9576:207:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3827:173:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4788:439;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;282:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;308:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;596:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4006:83;;;;;;;;;;;;;:::i;:::-;;746:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1755:203;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;773:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1155:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;244:32;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;980:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2345:94;2388:4;2411:21;2404:28;;2345:94;:::o;4640:142::-;4691:4;4707:10;4752:1;4736:7;:14;;;;4721:12;;:29;;;;:::i;:::-;4720:33;;;;:::i;:::-;4707:46;;4770:5;4763:12;;;4640:142;:::o;4306:120::-;4370:4;4393:17;:26;4411:7;4393:26;;;;;;;;;;;;;;;;4386:33;;4306:120;;;:::o;2802:980::-;2875:10;;2858:7;:14;;;;:27;2850:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;3002:1;2970:17;:29;2988:10;2970:29;;;;;;;;;;;;;;;;:33;2962:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;3165:3;3137:13;:25;3151:10;3137:25;;;;;;;;;;;;;;;;3119:15;:43;;;;:::i;:::-;:49;3111:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;3249:9;3236;:22;;3228:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3395:7;3405:20;:10;:18;:20::i;:::-;3395:30;;3600:7;3613:2;3600:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3647:10;3626:14;:18;3641:2;3626:18;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;3668:7;3689:10;3668:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3712:17;:29;3730:10;3712:29;;;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;;;;;;3753:22;:10;:20;:22::i;:::-;2840:942;2802:980::o;2185:131::-;2250:15;2284:13;:25;2298:10;2284:25;;;;;;;;;;;;;;;;;;;;;2277:32;;2185:131;;;:::o;631:24::-;;;;:::o;2578:89::-;2621:13;2653:7;2646:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:89;:::o;952:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4187:73::-;5346:5;;;;;;;;;;;5332:19;;:10;:19;;;5324:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4236:17:::1;:15;:17::i;:::-;;4187:73::o:0;2472:100::-;2515:24;2558:7;2551:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2472:100;:::o;218:20::-;;;;;;;;;;;;;:::o;4432:202::-;4474:7;4493:10;4538:1;4522:7;:14;;;;4507:12;;:29;;;;:::i;:::-;4506:33;;;;:::i;:::-;4493:46;;4590:14;:21;4605:5;4590:21;;;;;;;;;;;;;;;;;;;;;4583:28;;;4432:202;:::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;3827:173:4:-;3876:4;3939:5;;;;;;;;;;;3946:15;3922:40;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3912:51;;;;;;3907:57;;3892:12;:72;;;;3981:12;;3974:19;;3827:173;:::o;4788:439::-;4838:10;4883:1;4867:7;:14;;;;4852:12;;:29;;;;:::i;:::-;4851:33;;;;:::i;:::-;4838:46;;4974:7;4988:1;4982:5;:7;;;;:::i;:::-;4974:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:25;;:34;5000:7;4974:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:7;5101:1;5095:5;:7;;;;:::i;:::-;5087:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5061:13;:23;5075:8;;5061:23;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;5113:8;;:10;;;;;;;;;:::i;:::-;;;;;;5218:1;5196:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5186:7;:34;;;;;;;;;;;;:::i;:::-;;4828:399;4788:439;:::o;282:20::-;;;;:::o;308:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;596:24::-;;;;;;;;;;;;;:::o;4006:83::-;5346:5;;;;;;;;;;;5332:19;;:10;:19;;;5324:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4059:23:::1;:21;:23::i;:::-;;4006:83::o:0;746:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1755:203::-;1798:17;1868:3;;1835:4;:14;;;1858:4;1835:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;1827:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;1920:31;1938:7;;1947:3;;1920:17;:31::i;:::-;1913:38;;1755:203;:::o;773:22::-;;;;:::o;1155:45::-;;;;;;;;;;;;;;;;;:::o;244:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;980: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;2029:150:4:-;2138:10;2123:12;:25;;;;2029: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:5:-;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:164::-;10706:16;10702:1;10694:6;10690:14;10683:40;10566:164;:::o;10736:366::-;10878:3;10899:67;10963:2;10958:3;10899:67;:::i;:::-;10892:74;;10975:93;11064:3;10975:93;:::i;:::-;11093:2;11088:3;11084:12;11077:19;;10736:366;;;:::o;11108:419::-;11274:4;11312:2;11301:9;11297:18;11289:26;;11361:9;11355:4;11351:20;11347:1;11336:9;11332:17;11325:47;11389:131;11515:4;11389:131;:::i;:::-;11381:139;;11108:419;;;:::o;11533:224::-;11673:34;11669:1;11661:6;11657:14;11650:58;11742:7;11737:2;11729:6;11725:15;11718:32;11533:224;:::o;11763:366::-;11905:3;11926:67;11990:2;11985:3;11926:67;:::i;:::-;11919:74;;12002:93;12091:3;12002:93;:::i;:::-;12120:2;12115:3;12111:12;12104:19;;11763:366;;;:::o;12135:419::-;12301:4;12339:2;12328:9;12324:18;12316:26;;12388:9;12382:4;12378:20;12374:1;12363:9;12359:17;12352:47;12416:131;12542:4;12416:131;:::i;:::-;12408:139;;12135:419;;;:::o;12560:191::-;12600:4;12620:20;12638:1;12620:20;:::i;:::-;12615:25;;12654:20;12672:1;12654:20;:::i;:::-;12649:25;;12693:1;12690;12687:8;12684:34;;;12698:18;;:::i;:::-;12684:34;12743:1;12740;12736:9;12728:17;;12560:191;;;;:::o;12757:231::-;12897:34;12893:1;12885:6;12881:14;12874:58;12966:14;12961:2;12953:6;12949:15;12942:39;12757:231;:::o;12994:366::-;13136:3;13157:67;13221:2;13216:3;13157:67;:::i;:::-;13150:74;;13233:93;13322:3;13233:93;:::i;:::-;13351:2;13346:3;13342:12;13335:19;;12994:366;;;:::o;13366:419::-;13532:4;13570:2;13559:9;13555:18;13547:26;;13619:9;13613:4;13609:20;13605:1;13594:9;13590:17;13583:47;13647:131;13773:4;13647:131;:::i;:::-;13639:139;;13366:419;;;:::o;13791:175::-;13931:27;13927:1;13919:6;13915:14;13908:51;13791:175;:::o;13972:366::-;14114:3;14135:67;14199:2;14194:3;14135:67;:::i;:::-;14128:74;;14211:93;14300:3;14211:93;:::i;:::-;14329:2;14324:3;14320:12;14313:19;;13972:366;;;:::o;14344:419::-;14510:4;14548:2;14537:9;14533:18;14525:26;;14597:9;14591:4;14587:20;14583:1;14572:9;14568:17;14561:47;14625:131;14751:4;14625:131;:::i;:::-;14617:139;;14344:419;;;:::o;14769:233::-;14808:3;14831:24;14849:5;14831:24;:::i;:::-;14822:33;;14877:66;14870:5;14867:77;14864:103;;;14947:18;;:::i;:::-;14864:103;14994:1;14987:5;14983:13;14976:20;;14769:233;;;:::o;15008:182::-;15148:34;15144:1;15136:6;15132:14;15125:58;15008:182;:::o;15196:366::-;15338:3;15359:67;15423:2;15418:3;15359:67;:::i;:::-;15352:74;;15435:93;15524:3;15435:93;:::i;:::-;15553:2;15548:3;15544:12;15537:19;;15196:366;;;:::o;15568:419::-;15734:4;15772:2;15761:9;15757:18;15749:26;;15821:9;15815:4;15811:20;15807:1;15796:9;15792:17;15785:47;15849:131;15975:4;15849:131;:::i;:::-;15841:139;;15568:419;;;:::o;15993:181::-;16133:33;16129:1;16121:6;16117:14;16110:57;15993:181;:::o;16180:366::-;16322:3;16343:67;16407:2;16402:3;16343:67;:::i;:::-;16336:74;;16419:93;16508:3;16419:93;:::i;:::-;16537:2;16532:3;16528:12;16521:19;;16180:366;;;:::o;16552:419::-;16718:4;16756:2;16745:9;16741:18;16733:26;;16805:9;16799:4;16795:20;16791:1;16780:9;16776:17;16769:47;16833:131;16959:4;16833:131;:::i;:::-;16825:139;;16552:419;;;:::o;16977:94::-;17010:8;17058:5;17054:2;17050:14;17029:35;;16977:94;;;:::o;17077:::-;17116:7;17145:20;17159:5;17145:20;:::i;:::-;17134:31;;17077:94;;;:::o;17177:100::-;17216:7;17245:26;17265:5;17245:26;:::i;:::-;17234:37;;17177:100;;;:::o;17283:157::-;17388:45;17408:24;17426:5;17408:24;:::i;:::-;17388:45;:::i;:::-;17383:3;17376:58;17283:157;;:::o;17446:79::-;17485:7;17514:5;17503:16;;17446:79;;;:::o;17531:157::-;17636:45;17656:24;17674:5;17656:24;:::i;:::-;17636:45;:::i;:::-;17631:3;17624:58;17531:157;;:::o;17694:397::-;17834:3;17849:75;17920:3;17911:6;17849:75;:::i;:::-;17949:2;17944:3;17940:12;17933:19;;17962:75;18033:3;18024:6;17962:75;:::i;:::-;18062:2;18057:3;18053:12;18046:19;;18082:3;18075:10;;17694:397;;;;;:::o;18097:180::-;18145:77;18142:1;18135:88;18242:4;18239:1;18232:15;18266:4;18263:1;18256:15;18283:180;18331:77;18328:1;18321:88;18428:4;18425:1;18418:15;18452:4;18449:1;18442:15;18469:143;18526:5;18557:6;18551:13;18542:22;;18573:33;18600:5;18573:33;:::i;:::-;18469:143;;;;:::o;18618:351::-;18688:6;18737:2;18725:9;18716:7;18712:23;18708:32;18705:119;;;18743:79;;:::i;:::-;18705:119;18863:1;18888:64;18944:7;18935:6;18924:9;18920:22;18888:64;:::i;:::-;18878:74;;18834:128;18618:351;;;;:::o;18975:177::-;19115:29;19111:1;19103:6;19099:14;19092:53;18975:177;:::o;19158:366::-;19300:3;19321:67;19385:2;19380:3;19321:67;:::i;:::-;19314:74;;19397:93;19486:3;19397:93;:::i;:::-;19515:2;19510:3;19506:12;19499:19;;19158:366;;;:::o;19530:419::-;19696:4;19734:2;19723:9;19719:18;19711:26;;19783:9;19777:4;19773:20;19769:1;19758:9;19754:17;19747:47;19811:131;19937:4;19811:131;:::i;:::-;19803:139;;19530:419;;;:::o;19955:332::-;20076:4;20114:2;20103:9;20099:18;20091:26;;20127:71;20195:1;20184:9;20180:17;20171:6;20127:71;:::i;:::-;20208:72;20276:2;20265:9;20261:18;20252:6;20208:72;:::i;:::-;19955:332;;;;;:::o;20293:98::-;20344:6;20378:5;20372:12;20362:22;;20293:98;;;:::o;20397:168::-;20480:11;20514:6;20509:3;20502:19;20554:4;20549:3;20545:14;20530:29;;20397:168;;;;:::o;20571:307::-;20639:1;20649:113;20663:6;20660:1;20657:13;20649:113;;;20748:1;20743:3;20739:11;20733:18;20729:1;20724:3;20720:11;20713:39;20685:2;20682:1;20678:10;20673:15;;20649:113;;;20780:6;20777:1;20774:13;20771:101;;;20860:1;20851:6;20846:3;20842:16;20835:27;20771:101;20620:258;20571:307;;;:::o;20884:102::-;20925:6;20976:2;20972:7;20967:2;20960:5;20956:14;20952:28;20942:38;;20884:102;;;:::o;20992:360::-;21078:3;21106:38;21138:5;21106:38;:::i;:::-;21160:70;21223:6;21218:3;21160:70;:::i;:::-;21153:77;;21239:52;21284:6;21279:3;21272:4;21265:5;21261:16;21239:52;:::i;:::-;21316:29;21338:6;21316:29;:::i;:::-;21311:3;21307:39;21300:46;;21082:270;20992:360;;;;:::o;21358:529::-;21525:4;21563:2;21552:9;21548:18;21540:26;;21576:71;21644:1;21633:9;21629:17;21620:6;21576:71;:::i;:::-;21657:72;21725:2;21714:9;21710:18;21701:6;21657:72;:::i;:::-;21776:9;21770:4;21766:20;21761:2;21750:9;21746:18;21739:48;21804:76;21875:4;21866:6;21804:76;:::i;:::-;21796:84;;21358:529;;;;;;:::o;21893:90::-;21927:7;21970:5;21963:13;21956:21;21945:32;;21893:90;;;:::o;21989:116::-;22059:21;22074:5;22059:21;:::i;:::-;22052:5;22049:32;22039:60;;22095:1;22092;22085:12;22039:60;21989:116;:::o;22111:137::-;22165:5;22196:6;22190:13;22181:22;;22212:30;22236:5;22212:30;:::i;:::-;22111:137;;;;:::o;22254:345::-;22321:6;22370:2;22358:9;22349:7;22345:23;22341:32;22338:119;;;22376:79;;:::i;:::-;22338:119;22496:1;22521:61;22574:7;22565:6;22554:9;22550:22;22521:61;:::i;:::-;22511:71;;22467:125;22254:345;;;;:::o;22605:553::-;22782:4;22820:3;22809:9;22805:19;22797:27;;22834:71;22902:1;22891:9;22887:17;22878:6;22834:71;:::i;:::-;22915:72;22983:2;22972:9;22968:18;22959:6;22915:72;:::i;:::-;22997;23065:2;23054:9;23050:18;23041:6;22997:72;:::i;:::-;23079;23147:2;23136:9;23132:18;23123:6;23079:72;:::i;:::-;22605:553;;;;;;;:::o;23164:79::-;23203:7;23232:5;23221:16;;23164:79;;;:::o;23249:157::-;23354:45;23374:24;23392:5;23374:24;:::i;:::-;23354:45;:::i;:::-;23349:3;23342:58;23249:157;;:::o;23412:397::-;23552:3;23567:75;23638:3;23629:6;23567:75;:::i;:::-;23667:2;23662:3;23658:12;23651:19;;23680:75;23751:3;23742:6;23680:75;:::i;:::-;23780:2;23775:3;23771:12;23764:19;;23800:3;23793:10;;23412:397;;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "1647600", | |
| "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)": "2880", | |
| "maxEntries()": "2473", | |
| "numbers(uint256)": "infinite", | |
| "owner()": "2625", | |
| "payWinner(uint256)": "infinite", | |
| "pickWinner()": "infinite", | |
| "pickWinnerTest()": "29357", | |
| "players(uint256)": "5044", | |
| "raffleHistory(uint256)": "2950", | |
| "raffleId()": "2518", | |
| "randomResult()": "2563", | |
| "rawFulfillRandomness(bytes32,uint256)": "infinite", | |
| "state()": "2693", | |
| "ticketToPlayer(uint256)": "2949", | |
| "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", | |
| "numbers(uint256)": "d39fa233", | |
| "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": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "numbers", | |
| "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": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "numbers", | |
| "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" | |
| ] | |
| }, | |
| "contracts/3_Raffle.sol": { | |
| "keccak256": "0x3c58a7c178572ebd32ef06029f54543266b98c915ef97da5dcffaa19e1b98442", | |
| "license": "MIT", | |
| "urls": [ | |
| "bzz-raw://c931fc41cfc3e98c2b5c5f4b5fd588989cbf5c29f4c009fdc23545cd08b9eb27", | |
| "dweb:/ipfs/QmZcHV47ZP9HX8n7UrPgpMpM5gecdggNGB5Y6jZssoTwPf" | |
| ] | |
| } | |
| }, | |
| "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
    
  
  
    
  | - Check payWinner function. Doesnt seem to pay correct winner. | |
| - Add raffle states | |
| - Transfer and withdrawal only capable in raffle closed state | |
| - Add safemath and use in every calculation | |
| - Add winners array | |
| - Remove answer and timestamp from Tickets struct | |
| - Refactor Ticket struct to maybe an array?? | |
| - Add security from openzeppelin | |
| - Remove winning ticketIds from tickets array? | |
| - 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 | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment