Created
October 16, 2021 21:57
-
-
Save calchulus/b5dba70cec80135f4daeaad6ad36bfc4 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 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 constuctor(<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 constant private 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 immutable internal LINK; | |
address immutable private vrfCoordinator; | |
// Nonces for each VRF key from which randomness has been requested. | |
// | |
// Must stay in sync with VRFCoordinator[_keyHash][this] | |
mapping(bytes32 /* keyHash */ => uint256 /* 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 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 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
pragma solidity ^0.5.2; | |
/** | |
* @title ERC20 interface | |
* @dev see https://eips.ethereum.org/EIPS/eip-20 | |
*/ | |
interface IERC20 { | |
function transfer(address to, uint256 value) external returns (bool); | |
function approve(address spender, uint256 value) external returns (bool); | |
function transferFrom(address from, address to, uint256 value) external returns (bool); | |
function totalSupply() external view returns (uint256); | |
function balanceOf(address who) external view returns (uint256); | |
function allowance(address owner, address spender) external view returns (uint256); | |
event Transfer(address indexed from, address indexed to, uint256 value); | |
event Approval(address indexed owner, address indexed spender, uint256 value); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REMIX EXAMPLE PROJECT | |
Remix example project is present when Remix loads 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 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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220442e7d6d5b768b355e12ec46428a535d3ca239b29b4216a12fdc923a8139344464736f6c63430008070033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIFFICULTY 0x2E PUSH30 0x6D5B768B355E12EC46428A535D3CA239B29B4216A12FDC923A8139344464 PUSH20 0x6F6C634300080700330000000000000000000000 ", | |
"sourceMap": "141:3616:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220442e7d6d5b768b355e12ec46428a535d3ca239b29b4216a12fdc923a8139344464736f6c63430008070033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DIFFICULTY 0x2E PUSH30 0x6D5B768B355E12EC46428A535D3CA239B29B4216A12FDC923A8139344464 PUSH20 0x6F6C634300080700330000000000000000000000 ", | |
"sourceMap": "141:3616:7:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"returnDataToString(bytes memory)": "infinite", | |
"safeDecimals(contract IERC20)": "infinite", | |
"safeName(contract IERC20)": "infinite", | |
"safeSymbol(contract IERC20)": "infinite", | |
"safeTransfer(contract IERC20,address,uint256)": "infinite", | |
"safeTransferFrom(contract IERC20,address,address,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"abi": [] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/ImpossibleChainlink.sol": "BoringERC20" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/VRFConsumerBase.sol": { | |
"keccak256": "0x991e49ee47043d6667887d7ed6ab5a0f8e4e5550f92b09b0d75c1fb1a473cd8d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://a688c48fa681a7958d5cbb4e1845290ae317e2dfa1a059faae44c69d83409414", | |
"dweb:/ipfs/Qmb5Gpjya5VJ9LnwkEBfMr5DtDH462VBjXcA6uAU2f1Vj9" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/VRFRequestIDBase.sol": { | |
"keccak256": "0x7c8dad07e6c6c9269d97fd1191ccf9c0f0068683f1f88003e688eef9373de0d9", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://1d88c83a359c70f6b2e2e05d8f7611cce4a3d316a65e5175e14bcf9a6ced98af", | |
"dweb:/ipfs/QmeH3BEuVvaaQsz7sN5myEnFLoabTG4j85vS9Z6rfJkads" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol": { | |
"keccak256": "0x50528c237386c55ff122d047f91b32be7abe24e9dfdc609de21cd605aae83b9a", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://92037bd13b34432f9377cb205c0039bd0724af66ea605598db31d4ccd33f879f", | |
"dweb:/ipfs/QmdH6Ef5PZgcPrJuWboLX5MhmezzTFniZCwJ6fk2tYVua4" | |
] | |
}, | |
"contracts/Context.sol": { | |
"keccak256": "0xf85ba24aca6a219be58ee82e453490f1358ac94d67f42e8c15ad93dd24b9d9dc", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://c1ff02d829b413a27234a2837b9adfd84693dcf508a2935967be9f4592160cc1", | |
"dweb:/ipfs/QmengRHPpNR9gtQDtbBPh8ugXYUnm23Z8V7txrxr6Whfrd" | |
] | |
}, | |
"contracts/ERC20.sol": { | |
"keccak256": "0x8ba7d16b0287ff1bc020e8e1e2c28ba2a59c698b40ff1026f7853ae891c71f43", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f1e3f1e154dfed1473cdcd7b012047ec3a64ebf504e0883974f092f096c765fd", | |
"dweb:/ipfs/QmSUu3LFgyNLgVgxXvJ3upBSAf8Qtqy2oxrRVuy57JVJ6E" | |
] | |
}, | |
"contracts/IERC20.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
}, | |
"contracts/IERC20Metadata.sol": { | |
"keccak256": "0x4065401847859fdea8270079da0d5d94d4d6bcb16b83753f25d77c03bc9fa66d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ddc99a4763150db86205a0b0313dda9db3b4c1cc283933cb9228d63ea71a7495", | |
"dweb:/ipfs/QmaVKXyFDwYPZ1iRrjAEbbaFYWSfrYdz4jfaeFJ7EWzT6k" | |
] | |
}, | |
"contracts/ImpossibleChainlink.sol": { | |
"keccak256": "0x6859e3df3cbb658fa0c4950457820a16d05d1dac9c92f05283a645d1861efbcc", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://3f17ed387dc0cf8a8f62f2fe2ebb044c3290d3a8a4b33b9d11085113739c17a6", | |
"dweb:/ipfs/QmeAKxxv7SyRb2AFUrcx9FvyEDyvTupJHVFUy6K5idS25d" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"gasEstimates": null, | |
"methodIdentifiers": {} | |
}, | |
"abi": [] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/Context.sol": "Context" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/Context.sol": { | |
"keccak256": "0xf85ba24aca6a219be58ee82e453490f1358ac94d67f42e8c15ad93dd24b9d9dc", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://c1ff02d829b413a27234a2837b9adfd84693dcf508a2935967be9f4592160cc1", | |
"dweb:/ipfs/QmengRHPpNR9gtQDtbBPh8ugXYUnm23Z8V7txrxr6Whfrd" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"gasEstimates": null, | |
"methodIdentifiers": { | |
"allowance(address,address)": "dd62ed3e", | |
"approve(address,uint256)": "095ea7b3", | |
"balanceOf(address)": "70a08231", | |
"totalSupply()": "18160ddd", | |
"transfer(address,uint256)": "a9059cbb", | |
"transferFrom(address,address,uint256)": "23b872dd" | |
} | |
}, | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Approval", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Transfer", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "sender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Approval", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Transfer", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "sender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"details": "Interface of the ERC20 standard as defined in the EIP.", | |
"events": { | |
"Approval(address,address,uint256)": { | |
"details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." | |
}, | |
"Transfer(address,address,uint256)": { | |
"details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." | |
} | |
}, | |
"kind": "dev", | |
"methods": { | |
"allowance(address,address)": { | |
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." | |
}, | |
"approve(address,uint256)": { | |
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." | |
}, | |
"balanceOf(address)": { | |
"details": "Returns the amount of tokens owned by `account`." | |
}, | |
"totalSupply()": { | |
"details": "Returns the amount of tokens in existence." | |
}, | |
"transfer(address,uint256)": { | |
"details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." | |
}, | |
"transferFrom(address,address,uint256)": { | |
"details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." | |
} | |
}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/3_Ballot.sol": "IERC20" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/3_Ballot.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "", | |
"opcodes": "", | |
"sourceMap": "" | |
}, | |
"gasEstimates": null, | |
"methodIdentifiers": { | |
"allowance(address,address)": "dd62ed3e", | |
"approve(address,uint256)": "095ea7b3", | |
"balanceOf(address)": "70a08231", | |
"decimals()": "313ce567", | |
"name()": "06fdde03", | |
"symbol()": "95d89b41", | |
"totalSupply()": "18160ddd", | |
"transfer(address,uint256)": "a9059cbb", | |
"transferFrom(address,address,uint256)": "23b872dd" | |
} | |
}, | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Approval", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Transfer", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "name", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "symbol", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "sender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Approval", | |
"type": "event" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"indexed": true, | |
"internalType": "address", | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"internalType": "uint256", | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "Transfer", | |
"type": "event" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "account", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "name", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "symbol", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "sender", | |
"type": "address" | |
}, | |
{ | |
"internalType": "address", | |
"name": "recipient", | |
"type": "address" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "transferFrom", | |
"outputs": [ | |
{ | |
"internalType": "bool", | |
"name": "", | |
"type": "bool" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._", | |
"kind": "dev", | |
"methods": { | |
"allowance(address,address)": { | |
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." | |
}, | |
"approve(address,uint256)": { | |
"details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." | |
}, | |
"balanceOf(address)": { | |
"details": "Returns the amount of tokens owned by `account`." | |
}, | |
"decimals()": { | |
"details": "Returns the decimals places of the token." | |
}, | |
"name()": { | |
"details": "Returns the name of the token." | |
}, | |
"symbol()": { | |
"details": "Returns the symbol of the token." | |
}, | |
"totalSupply()": { | |
"details": "Returns the amount of tokens in existence." | |
}, | |
"transfer(address,uint256)": { | |
"details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." | |
}, | |
"transferFrom(address,address,uint256)": { | |
"details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." | |
} | |
}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/IERC20Metadata.sol": "IERC20Metadata" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/IERC20.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
}, | |
"contracts/IERC20Metadata.sol": { | |
"keccak256": "0x4065401847859fdea8270079da0d5d94d4d6bcb16b83753f25d77c03bc9fa66d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ddc99a4763150db86205a0b0313dda9db3b4c1cc283933cb9228d63ea71a7495", | |
"dweb:/ipfs/QmaVKXyFDwYPZ1iRrjAEbbaFYWSfrYdz4jfaeFJ7EWzT6k" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": { | |
"@_98": { | |
"entryPoint": null, | |
"id": 98, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@_986": { | |
"entryPoint": null, | |
"id": 986, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60c06040527331050af1f1b26b6cbfd0ea277b775c268b7ecb07600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b0897686c545045afc77cf20ec7a532e3120e0f1600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100ba57600080fd5b5073a555fc018435bef5a13c6c6870a9d4c11dec329c7384b9b910527ad5c03a9ca831909e21e236ea7b068173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050507fcaf3c3727e033261d383b315559476f48034c13b18f8cafed4d871abe504918660001b60018190555067016345785d8a000060028190555060805160601c60a05160601c6110586101c760003960008181610398015261061501526000818161046501526105d901526110586000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806394985ddd1161006657806394985ddd14610146578063b69ef8a814610162578063bb0602cd14610180578063dbdff2c11461019e578063f851a440146101bc57610093565b8063053e46ff146100985780631b0c27da146100c857806342619f66146100f8578063874b3afc14610116575b600080fd5b6100b260048036038101906100ad91906108fe565b6101da565b6040516100bf9190610b44565b60405180910390f35b6100e260048036038101906100dd9190610864565b6102af565b6040516100ef9190610c4a565b60405180910390f35b6101006102d3565b60405161010d9190610c4a565b60405180910390f35b610130600480360381019061012b91906108be565b6102d9565b60405161013d9190610b44565b60405180910390f35b610160600480360381019061015b9190610824565b610396565b005b61016a610432565b6040516101779190610c4a565b60405180910390f35b610188610438565b6040516101959190610bef565b60405180910390f35b6101a661045e565b6040516101b39190610b66565b60405180910390f35b6101c461058c565b6040516101d19190610aeb565b60405180910390f35b60608267ffffffffffffffff8111156101f6576101f5610f20565b5b6040519080825280602002602001820160405280156102245781602001602082028036833780820191505090505b50905060005b838110156102a7576001838683604051602001610248929190610c65565b6040516020818303038152906040528051906020012060001c61026b9190610e62565b6102759190610cf4565b82828151811061028857610287610ef1565b5b602002602001018181525050808061029f90610e05565b91505061022a565b509392505050565b600781815481106102bf57600080fd5b906000526020600020016000915090505481565b60055481565b60608167ffffffffffffffff8111156102f5576102f4610f20565b5b6040519080825280602002602001820160405280156103235781602001602082028036833780820191505090505b50905060005b8281101561038f578381604051602001610344929190610c65565b6040516020818303038152906040528051906020012060001c8282815181106103705761036f610ef1565b5b602002602001018181525050808061038790610e05565b915050610329565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b90610c2a565b60405180910390fd5b61042e82826105b2565b5050565b60035481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104bc9190610aeb565b60206040518083038186803b1580156104d457600080fd5b505afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c9190610891565b101561054d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054490610c0a565b60405180910390fd5b61055b6001546002546105d5565b905060078160001c908060018154018082558091505060019003906000526020600020016000909190919091505590565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016032826105c19190610e62565b6105cb9190610cf4565b6005819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001610649929190610b81565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161067693929190610b06565b602060405180830381600087803b15801561069057600080fd5b505af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906107f7565b5060006106ea8460003060008089815260200190815260200160002054610734565b905060016000808681526020019081526020016000205461070b9190610cf4565b6000808681526020019081526020016000208190555061072b8482610770565b91505092915050565b60008484848460405160200161074d9493929190610baa565b6040516020818303038152906040528051906020012060001c9050949350505050565b60008282604051602001610785929190610abf565b60405160208183030381529060405280519060200120905092915050565b6000815190506107b281610fdd565b92915050565b6000813590506107c781610ff4565b92915050565b6000813590506107dc8161100b565b92915050565b6000815190506107f18161100b565b92915050565b60006020828403121561080d5761080c610f4f565b5b600061081b848285016107a3565b91505092915050565b6000806040838503121561083b5761083a610f4f565b5b6000610849858286016107b8565b925050602061085a858286016107cd565b9150509250929050565b60006020828403121561087a57610879610f4f565b5b6000610888848285016107cd565b91505092915050565b6000602082840312156108a7576108a6610f4f565b5b60006108b5848285016107e2565b91505092915050565b600080604083850312156108d5576108d4610f4f565b5b60006108e3858286016107cd565b92505060206108f4858286016107cd565b9150509250929050565b60008060006060848603121561091757610916610f4f565b5b6000610925868287016107cd565b9350506020610936868287016107cd565b9250506040610947868287016107cd565b9150509250925092565b600061095d8383610a8a565b60208301905092915050565b61097281610d4a565b82525050565b600061098382610c9e565b61098d8185610cc1565b935061099883610c8e565b8060005b838110156109c95781516109b08882610951565b97506109bb83610cb4565b92505060018101905061099c565b5085935050505092915050565b6109df81610d68565b82525050565b6109f66109f182610d68565b610e4e565b82525050565b6000610a0782610ca9565b610a118185610cd2565b9350610a21818560208601610dd2565b610a2a81610f54565b840191505092915050565b610a3e81610d9c565b82525050565b6000610a51602b83610ce3565b9150610a5c82610f65565b604082019050919050565b6000610a74601f83610ce3565b9150610a7f82610fb4565b602082019050919050565b610a9381610d92565b82525050565b610aa281610d92565b82525050565b610ab9610ab482610d92565b610e58565b82525050565b6000610acb82856109e5565b602082019150610adb8284610aa8565b6020820191508190509392505050565b6000602082019050610b006000830184610969565b92915050565b6000606082019050610b1b6000830186610969565b610b286020830185610a99565b8181036040830152610b3a81846109fc565b9050949350505050565b60006020820190508181036000830152610b5e8184610978565b905092915050565b6000602082019050610b7b60008301846109d6565b92915050565b6000604082019050610b9660008301856109d6565b610ba36020830184610a99565b9392505050565b6000608082019050610bbf60008301876109d6565b610bcc6020830186610a99565b610bd96040830185610969565b610be66060830184610a99565b95945050505050565b6000602082019050610c046000830184610a35565b92915050565b60006020820190508181036000830152610c2381610a44565b9050919050565b60006020820190508181036000830152610c4381610a67565b9050919050565b6000602082019050610c5f6000830184610a99565b92915050565b6000604082019050610c7a6000830185610a99565b610c876020830184610a99565b9392505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610cff82610d92565b9150610d0a83610d92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3f57610d3e610e93565b5b828201905092915050565b6000610d5582610d72565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610da782610dae565b9050919050565b6000610db982610dc0565b9050919050565b6000610dcb82610d72565b9050919050565b60005b83811015610df0578082015181840152602081019050610dd5565b83811115610dff576000848401525b50505050565b6000610e1082610d92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610e4357610e42610e93565b5b600182019050919050565b6000819050919050565b6000819050919050565b6000610e6d82610d92565b9150610e7883610d92565b925082610e8857610e87610ec2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060008201527f7769746820666175636574000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b610fe681610d5c565b8114610ff157600080fd5b50565b610ffd81610d68565b811461100857600080fd5b50565b61101481610d92565b811461101f57600080fd5b5056fea2646970667358221220e8461387f08410cb603c2af3aafe9596baa4bd8f75d085837c6afa2942056b4264736f6c63430008070033", | |
"opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH20 0x31050AF1F1B26B6CBFD0EA277B775C268B7ECB07 PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH20 0xB0897686C545045AFC77CF20EC7A532E3120E0F1 PUSH1 0x6 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xA555FC018435BEF5A13C6C6870A9D4C11DEC329C PUSH20 0x84B9B910527AD5C03A9CA831909E21E236EA7B06 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP POP PUSH32 0xCAF3C3727E033261D383B315559476F48034C13B18F8CAFED4D871ABE5049186 PUSH1 0x0 SHL PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH8 0x16345785D8A0000 PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH2 0x1058 PUSH2 0x1C7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x398 ADD MSTORE PUSH2 0x615 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x465 ADD MSTORE PUSH2 0x5D9 ADD MSTORE PUSH2 0x1058 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x94985DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xBB0602CD EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x1BC JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x53E46FF EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x1B0C27DA EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x874B3AFC EQ PUSH2 0x116 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x8FE JUMP JUMPDEST PUSH2 0x1DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0xB44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x864 JUMP JUMPDEST PUSH2 0x2AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x100 PUSH2 0x2D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10D SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x130 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x8BE JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13D SWAP2 SWAP1 PUSH2 0xB44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x824 JUMP JUMPDEST PUSH2 0x396 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x432 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x177 SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH2 0x438 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0xBEF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH2 0x45E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C4 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D1 SWAP2 SWAP1 PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F6 JUMPI PUSH2 0x1F5 PUSH2 0xF20 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 0x224 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2A7 JUMPI PUSH1 0x1 DUP4 DUP7 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP3 SWAP2 SWAP1 PUSH2 0xC65 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 PUSH2 0x26B SWAP2 SWAP1 PUSH2 0xE62 JUMP JUMPDEST PUSH2 0x275 SWAP2 SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xEF1 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x29F SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x22A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x7 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2BF 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 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2F5 JUMPI PUSH2 0x2F4 PUSH2 0xF20 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 0x323 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x38F JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x344 SWAP3 SWAP2 SWAP1 PUSH2 0xC65 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 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x370 JUMPI PUSH2 0x36F PUSH2 0xEF1 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x387 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x329 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41B SWAP1 PUSH2 0xC2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x42E DUP3 DUP3 PUSH2 0x5B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 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 0x4BC SWAP2 SWAP1 PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4E8 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 0x50C SWAP2 SWAP1 PUSH2 0x891 JUMP JUMPDEST LT ISZERO PUSH2 0x54D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x544 SWAP1 PUSH2 0xC0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x55B PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD PUSH2 0x5D5 JUMP JUMPDEST SWAP1 POP PUSH1 0x7 DUP2 PUSH1 0x0 SHR 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 SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x32 DUP3 PUSH2 0x5C1 SWAP2 SWAP1 PUSH2 0xE62 JUMP JUMPDEST PUSH2 0x5CB SWAP2 SWAP1 PUSH2 0xCF4 JUMP JUMPDEST PUSH1 0x5 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 0x649 SWAP3 SWAP2 SWAP1 PUSH2 0xB81 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 0x676 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB06 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x690 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A4 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 0x6C8 SWAP2 SWAP1 PUSH2 0x7F7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x6EA DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x734 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 0x70B SWAP2 SWAP1 PUSH2 0xCF4 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 0x72B DUP5 DUP3 PUSH2 0x770 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x74D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA 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 0x785 SWAP3 SWAP2 SWAP1 PUSH2 0xABF 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 PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x7B2 DUP2 PUSH2 0xFDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7C7 DUP2 PUSH2 0xFF4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7DC DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x7F1 DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x80D JUMPI PUSH2 0x80C PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x81B DUP5 DUP3 DUP6 ADD PUSH2 0x7A3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x83B JUMPI PUSH2 0x83A PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x849 DUP6 DUP3 DUP7 ADD PUSH2 0x7B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x85A DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x87A JUMPI PUSH2 0x879 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x888 DUP5 DUP3 DUP6 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8A7 JUMPI PUSH2 0x8A6 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x8B5 DUP5 DUP3 DUP6 ADD PUSH2 0x7E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8D5 JUMPI PUSH2 0x8D4 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x8E3 DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x8F4 DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x917 JUMPI PUSH2 0x916 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x925 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x936 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x947 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x95D DUP4 DUP4 PUSH2 0xA8A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x972 DUP2 PUSH2 0xD4A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x983 DUP3 PUSH2 0xC9E JUMP JUMPDEST PUSH2 0x98D DUP2 DUP6 PUSH2 0xCC1 JUMP JUMPDEST SWAP4 POP PUSH2 0x998 DUP4 PUSH2 0xC8E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9C9 JUMPI DUP2 MLOAD PUSH2 0x9B0 DUP9 DUP3 PUSH2 0x951 JUMP JUMPDEST SWAP8 POP PUSH2 0x9BB DUP4 PUSH2 0xCB4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x99C JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9DF DUP2 PUSH2 0xD68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x9F6 PUSH2 0x9F1 DUP3 PUSH2 0xD68 JUMP JUMPDEST PUSH2 0xE4E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA07 DUP3 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0xA11 DUP2 DUP6 PUSH2 0xCD2 JUMP JUMPDEST SWAP4 POP PUSH2 0xA21 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xDD2 JUMP JUMPDEST PUSH2 0xA2A DUP2 PUSH2 0xF54 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA3E DUP2 PUSH2 0xD9C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA51 PUSH1 0x2B DUP4 PUSH2 0xCE3 JUMP JUMPDEST SWAP2 POP PUSH2 0xA5C DUP3 PUSH2 0xF65 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH1 0x1F DUP4 PUSH2 0xCE3 JUMP JUMPDEST SWAP2 POP PUSH2 0xA7F DUP3 PUSH2 0xFB4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA93 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAA2 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAB9 PUSH2 0xAB4 DUP3 PUSH2 0xD92 JUMP JUMPDEST PUSH2 0xE58 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xACB DUP3 DUP6 PUSH2 0x9E5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xADB DUP3 DUP5 PUSH2 0xAA8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB00 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x969 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xB1B PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x969 JUMP JUMPDEST PUSH2 0xB28 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xA99 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xB3A DUP2 DUP5 PUSH2 0x9FC JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB5E DUP2 DUP5 PUSH2 0x978 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB7B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x9D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xB96 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x9D6 JUMP JUMPDEST PUSH2 0xBA3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xBBF PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x9D6 JUMP JUMPDEST PUSH2 0xBCC PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xA99 JUMP JUMPDEST PUSH2 0xBD9 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x969 JUMP JUMPDEST PUSH2 0xBE6 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC04 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA35 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC23 DUP2 PUSH2 0xA44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC43 DUP2 PUSH2 0xA67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC5F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xC7A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xA99 JUMP JUMPDEST PUSH2 0xC87 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 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 PUSH1 0x0 PUSH2 0xCFF DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xD0A DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD3F JUMPI PUSH2 0xD3E PUSH2 0xE93 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD55 DUP3 PUSH2 0xD72 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDA7 DUP3 PUSH2 0xDAE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB9 DUP3 PUSH2 0xDC0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDCB DUP3 PUSH2 0xD72 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xDF0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xDD5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xDFF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE10 DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xE43 JUMPI PUSH2 0xE42 PUSH2 0xE93 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE6D DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xE78 DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xE88 JUMPI PUSH2 0xE87 PUSH2 0xEC2 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT 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 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B202D2066696C6C20636F6E747261637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7769746820666175636574000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xFE6 DUP2 PUSH2 0xD5C JUMP JUMPDEST DUP2 EQ PUSH2 0xFF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xFFD DUP2 PUSH2 0xD68 JUMP JUMPDEST DUP2 EQ PUSH2 0x1008 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1014 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP2 EQ PUSH2 0x101F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE8 CHAINID SGT DUP8 CREATE DUP5 LT 0xCB PUSH1 0x3C 0x2A RETURN 0xAA INVALID SWAP6 SWAP7 0xBA LOG4 0xBD DUP16 PUSH22 0xD085837C6AFA2942056B4264736F6C63430008070033 ", | |
"sourceMap": "304:3251:7:-:0;;;465:42;442:65;;;;;;;;;;;;;;;;;;;;574:42;546:71;;;;;;;;;;;;;;;;;;;;1038:663;;;;;;;;;;1090:42;1177;9386:15:0;9369:32;;;;;;;;;;;;9433:5;9407:32;;;;;;;;;;;;9299:145;;1462:66:7::1;1452:76;;:7;:76;;;;1648:14;1642:3;:20;;;;304:3251:::0;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@Link_958": { | |
"entryPoint": 1080, | |
"id": 958, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@admin_950": { | |
"entryPoint": 1420, | |
"id": 950, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_947": { | |
"entryPoint": 1074, | |
"id": 947, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@expand_1103": { | |
"entryPoint": 729, | |
"id": 1103, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@fulfillRandomness_1055": { | |
"entryPoint": 1458, | |
"id": 1055, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@getRandomNumber_1036": { | |
"entryPoint": 1118, | |
"id": 1036, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@makeRequestId_169": { | |
"entryPoint": 1904, | |
"id": 169, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@makeVRFInputSeed_150": { | |
"entryPoint": 1844, | |
"id": 150, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"@moduloExpand_1158": { | |
"entryPoint": 474, | |
"id": 1158, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"@randomResult_952": { | |
"entryPoint": 723, | |
"id": 952, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@rawFulfillRandomness_119": { | |
"entryPoint": 918, | |
"id": 119, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@requestRandomness_70": { | |
"entryPoint": 1493, | |
"id": 70, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@results_961": { | |
"entryPoint": 687, | |
"id": 961, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_bool_fromMemory": { | |
"entryPoint": 1955, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bytes32": { | |
"entryPoint": 1976, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1997, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 2018, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_bool_fromMemory": { | |
"entryPoint": 2039, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_bytes32t_uint256": { | |
"entryPoint": 2084, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 2148, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256_fromMemory": { | |
"entryPoint": 2193, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256t_uint256": { | |
"entryPoint": 2238, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256t_uint256t_uint256": { | |
"entryPoint": 2302, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 3 | |
}, | |
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
"entryPoint": 2385, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 2409, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 2424, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 2518, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { | |
"entryPoint": 2533, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 2556, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack": { | |
"entryPoint": 2613, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2628, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 2663, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256": { | |
"entryPoint": 2698, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 2713, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack": { | |
"entryPoint": 2728, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 2751, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 2795, | |
"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": 2822, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
"entryPoint": 2884, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 2918, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": { | |
"entryPoint": 2945, | |
"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": 2986, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed": { | |
"entryPoint": 3055, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3082, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3114, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 3146, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { | |
"entryPoint": 3173, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3214, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3230, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_bytes_memory_ptr": { | |
"entryPoint": 3241, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3252, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 3265, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 3282, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3299, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 3316, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 3402, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 3420, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 3432, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 3442, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 3474, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_contract$_IERC20_$910_to_t_address": { | |
"entryPoint": 3484, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_address": { | |
"entryPoint": 3502, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_uint160": { | |
"entryPoint": 3520, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 3538, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"increment_t_uint256": { | |
"entryPoint": 3589, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"leftAlign_t_bytes32": { | |
"entryPoint": 3662, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"leftAlign_t_uint256": { | |
"entryPoint": 3672, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"mod_t_uint256": { | |
"entryPoint": 3682, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 3731, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 3778, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x32": { | |
"entryPoint": 3825, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 3872, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 3919, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 3924, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74": { | |
"entryPoint": 3941, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445": { | |
"entryPoint": 4020, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bool": { | |
"entryPoint": 4061, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bytes32": { | |
"entryPoint": 4084, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 4107, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:15704:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "67:77:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "77:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "92:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "86:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "86:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "77:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "132:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "108:23:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "108:30:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "108:30:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "45:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "53:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "61:5:8", | |
"type": "" | |
} | |
], | |
"src": "7:137:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "202:87:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "212:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "234:6:8" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "221:12:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "221:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "212:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "277:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "250:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "250:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "250:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "180:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "188:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "196:5:8", | |
"type": "" | |
} | |
], | |
"src": "150:139:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "347:87:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "357:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "379:6:8" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "366:12:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "366:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "357:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "422:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "395:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "395:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "395:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "325:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "333:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "341:5:8", | |
"type": "" | |
} | |
], | |
"src": "295:139:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "503:80:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "513:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "528:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "522:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "522:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "513:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "571:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "544:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "544:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "544:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "481:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "489:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "497:5:8", | |
"type": "" | |
} | |
], | |
"src": "440:143:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "663:271:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "709:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "711:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "711:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "711:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "684:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "693:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "680:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "680:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "705:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "676:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "676:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "673:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "802:125:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "817:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "831:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "821:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "846:71:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "889:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "900:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "885:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "885:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "909:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "856:28:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "856:61:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "846:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "633:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "644:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "656:6:8", | |
"type": "" | |
} | |
], | |
"src": "589:345:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1023:391:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1069:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1071:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1071:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1071:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1044:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1053:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1040:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1040:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1065:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1036:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1036:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1033:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1162:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1177:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1191:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1181:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1206:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1241:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1252:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1237:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1237:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1261:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "1216:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1216:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1206:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1289:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1304:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1318:2:8", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1308:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1334:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1369:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1380:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1365:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1365:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1389:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1344:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1344:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1334:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes32t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "985:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "996:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1008:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1016:6:8", | |
"type": "" | |
} | |
], | |
"src": "940:474:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1486:263:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1532:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1534:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1534:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1534:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1507:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1516:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1503:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1503:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1528:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1499:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1499:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1496:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1625:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1640:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1654:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1644:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1669:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1704:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1715:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1700:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1700:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1724:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1679:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1679:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1669:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1456:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1467:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1479:6:8", | |
"type": "" | |
} | |
], | |
"src": "1420:329:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:274:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1878:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1880:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1880:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1880:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1853:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1862:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1849:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1849:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1874:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1845:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1845:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1842:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1971:128:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1986:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2000:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1990:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2015:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2061:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2072:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2057:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2057:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2081:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2025:31:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2025:64:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2015:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1802:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1813:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1825:6:8", | |
"type": "" | |
} | |
], | |
"src": "1755:351:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2195:391:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2241:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2243:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2243:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2243:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2216:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2225:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2212:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2212:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2237:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2208:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2208:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "2205:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2334:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2349:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2363:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2353:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2378:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2413:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2424:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2409:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2409:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2433:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2388:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2388:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2378:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2461:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2476:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2490:2:8", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2480:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2506:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2541:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2552:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2537:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2537:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2561:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2516:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2516:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2506:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2157:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2168:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2180:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2188:6:8", | |
"type": "" | |
} | |
], | |
"src": "2112:474:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2692:519:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2738:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2740:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2740:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2740:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2713:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2722:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2709:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2709:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2734:2:8", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2705:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2705:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "2702:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2831:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2846:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2860:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2850:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2875:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2910:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2921:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2906:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2906:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2930:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2885:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2885:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2875:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2958:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2973:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2987:2:8", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2977:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3003:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3038:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3049:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3034:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3034:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3058:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3013:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3013:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "3003:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "3086:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3101:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3115:2:8", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "3105:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3131:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3166:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "3177:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3162:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3162:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "3186:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3141:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3141:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "3131:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_uint256t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2646:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2657:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2669:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2677:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "2685:6:8", | |
"type": "" | |
} | |
], | |
"src": "2592:619:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3297:99:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "3341:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3349:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3307:33:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3307:46:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3307:46:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3362:28:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3380:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3385:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3376:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3376:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulIdentifier", | |
"src": "3362:10:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "3270:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3278:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulTypedName", | |
"src": "3286:10:8", | |
"type": "" | |
} | |
], | |
"src": "3217:179:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3467:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3484:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3507:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "3489:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3489:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3477:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3477:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3477:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3455:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3462:3:8", | |
"type": "" | |
} | |
], | |
"src": "3402:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3680:608:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3690:68:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3752:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3704:47:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3704:54:8" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3694:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3767:93:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3848:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3853:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3774:73:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3774:86:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3767:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3869:71:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3934:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3884:49:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3884:56:8" | |
}, | |
"variables": [ | |
{ | |
"name": "baseRef", | |
"nodeType": "YulTypedName", | |
"src": "3873:7:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3949:21:8", | |
"value": { | |
"name": "baseRef", | |
"nodeType": "YulIdentifier", | |
"src": "3963:7:8" | |
}, | |
"variables": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulTypedName", | |
"src": "3953:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4039:224:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4053:34:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4080:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "4074:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4074:13:8" | |
}, | |
"variables": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulTypedName", | |
"src": "4057:13:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4100:70:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulIdentifier", | |
"src": "4151:13:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4166:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4107:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4107:63:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4100:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4183:70:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4246:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4193:52:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4193:60:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "4183:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4001:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4004:6:8" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "3998:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3998:13:8" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "4012:18:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4014:14:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4023:1:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4026:1:8", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4019:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4019:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "4014:1:8" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "3983:14:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3985:10:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3994:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "3989:1:8", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "3979:284:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4272:10:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4279:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4272:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "3659:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3666:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3675:3:8", | |
"type": "" | |
} | |
], | |
"src": "3556:732:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4359:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4376:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4399:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4381:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4381:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4369:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4369:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4369:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4347:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4354:3:8", | |
"type": "" | |
} | |
], | |
"src": "4294:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4501:74:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4518:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4561:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4543:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4543:24:8" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "4523:19:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4523:45:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4511:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4511:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4511:58:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4489:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4496:3:8", | |
"type": "" | |
} | |
], | |
"src": "4418:157:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4671:270:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4681:52:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4727:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4695:31:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4695:38:8" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4685:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4742:77:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4807:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4812:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4749:57:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4749:70:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4742:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4854:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4861:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4850:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4850:16:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4868:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4873:6:8" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4828:21:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4828:52:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4828:52:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4889:46:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4900:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4927:6:8" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "4905:21:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4905:29:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4896:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4896:39:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4889:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4652:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4659:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4667:3:8", | |
"type": "" | |
} | |
], | |
"src": "4581:360:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5026:80:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5043:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5093:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_IERC20_$910_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "5048:44:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5048:51:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5036:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5036:64:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5036:64:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5014:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5021:3:8", | |
"type": "" | |
} | |
], | |
"src": "4947:159:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5258:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5268:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5334:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5339:2:8", | |
"type": "", | |
"value": "43" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5275:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5275:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5268:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5440:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74", | |
"nodeType": "YulIdentifier", | |
"src": "5351:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5351:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5351:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5453:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5464:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5469:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5460:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5460:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5453:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5246:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5254:3:8", | |
"type": "" | |
} | |
], | |
"src": "5112:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5630:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5640:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5706:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5711:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5647:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5647:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5640:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5812:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
"nodeType": "YulIdentifier", | |
"src": "5723:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5723:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5723:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5825:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5836:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5841:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5832:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5832:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5825:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5618:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5626:3:8", | |
"type": "" | |
} | |
], | |
"src": "5484:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5911:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5928:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5951:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "5933:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5933:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "5921:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5921:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5921:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5899:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5906:3:8", | |
"type": "" | |
} | |
], | |
"src": "5856:108:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6035:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6052:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6075:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6057:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6057:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6045:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6045:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6045:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6023:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6030:3:8", | |
"type": "" | |
} | |
], | |
"src": "5970:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6177:74:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6194:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6237:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6219:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6219:24:8" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6199:19:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6199:45:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6187:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6187:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6187:58:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6165:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6172:3:8", | |
"type": "" | |
} | |
], | |
"src": "6094:157:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6401:253:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6474:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6483:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6412:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6412:75:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6412:75:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6496:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6507:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6512:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6503:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6503:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6496:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6587:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6596:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6525:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6525:75:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6525:75:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6609:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6620:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6625:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6616:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6616:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6609:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6638:10:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6645:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6638:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "6372:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "6378:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6386:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6397:3:8", | |
"type": "" | |
} | |
], | |
"src": "6257:397:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6758:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6768:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6780:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6791:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6776:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6776:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "6768:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6848:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6861:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6872:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6857:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6857:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6804:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6804:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6804:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "6730:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6742:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "6753:4:8", | |
"type": "" | |
} | |
], | |
"src": "6660:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7060:357:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7070:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7082:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7093:2:8", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7078:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7078:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7070:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7150:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7163:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7174:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7159:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7159:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7106:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7106:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7106:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7231:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7244:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7255:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7240:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7240:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7187:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7187:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7187:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7280:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7291:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7276:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7276:18:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7300:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7306:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "7296:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7296:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7269:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7269:48:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7269:48:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7326:84:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "7396:6:8" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7405:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7334:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7334:76:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7326:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "7016:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "7028:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7036:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7044:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7055:4:8", | |
"type": "" | |
} | |
], | |
"src": "6888:529:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7571:225:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7581:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7593:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7604:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7589:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7589:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7581:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7628:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7639:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7624:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7624:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7647:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7653:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "7643:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7643:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "7617:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7617:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7617:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7673:116:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7775:6:8" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7784:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7681:93:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7681:108:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7673:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "7543:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7555:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7566:4:8", | |
"type": "" | |
} | |
], | |
"src": "7423:373:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7900:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7910:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7922:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7933:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7918:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7918:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7910:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7990:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8003:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8014:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7999:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7999:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7946:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7946:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7946:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7872:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7884:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7895:4:8", | |
"type": "" | |
} | |
], | |
"src": "7802:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8156:206:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8166:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8178:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8189:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8174:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8174:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8166:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8246:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8259:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8270:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8255:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8255:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8202:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8202:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8202:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "8327:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8340:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8351:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8336:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8336:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8283:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8283:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8283:72:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8120:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8132:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8140:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8151:4:8", | |
"type": "" | |
} | |
], | |
"src": "8030:332:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8550:371:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8560:27:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8572:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8583:3:8", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8568:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8568:19:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8560:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8641:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8654:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8665:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8650:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8650:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8597:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8597:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8597:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "8722:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8735:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8746:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8731:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8731:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8678:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8678:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8678:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "8804:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8817:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8828:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8813:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8813:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8760:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8760:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8760:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "8886:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8899:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8910:2:8", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8895:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8895:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8842:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8842:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8842:72:8" | |
} | |
] | |
}, | |
"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": "8498:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "8510:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "8518:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8526:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8534:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8545:4:8", | |
"type": "" | |
} | |
], | |
"src": "8368:553:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9039:138:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9049:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9061:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9072:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9057:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9057:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9049:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9143:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9156:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9167:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9152:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9152:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9085:57:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9085:85:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9085:85:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9011:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9023:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9034:4:8", | |
"type": "" | |
} | |
], | |
"src": "8927:250:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9354:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9364:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9376:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9387:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9372:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9372:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9364:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9411:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9422:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9407:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9407:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9430:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9436:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9426:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9426:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9400:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9400:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9400:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9456:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9590:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9464:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9464:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9456:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9334:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9349:4:8", | |
"type": "" | |
} | |
], | |
"src": "9183:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9779:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9789:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9801:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9812:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9797:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9797:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9789:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9836:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9847:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9832:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9832:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9855:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9861:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "9851:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9851:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "9825:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9825:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9825:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9881:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10015:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9889:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9889:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9881:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9759:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9774:4:8", | |
"type": "" | |
} | |
], | |
"src": "9608:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10131:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10141:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10153:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10164:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10149:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10149:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10141:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10221:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10234:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10245:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10230:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10230:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10177:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10177:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10177:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10103:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10115:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10126:4:8", | |
"type": "" | |
} | |
], | |
"src": "10033:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10387:206:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10397:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10409:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10420:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10405:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10405:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10397:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10477:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10490:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10501:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10486:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10486:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10433:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10433:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10433:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "10558:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10571:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10582:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10567:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10567:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10514:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10514:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10514:72:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10351:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "10363:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10371:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10382:4:8", | |
"type": "" | |
} | |
], | |
"src": "10261:332:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10639:35:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10649:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10665:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "10659:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10659:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "10649:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "10632:6:8", | |
"type": "" | |
} | |
], | |
"src": "10599:75:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10752:60:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10762:11:8", | |
"value": { | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "10770:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "10762:4:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10783:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "10795:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10800:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10791:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10791:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "10783:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "10739:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "10747:4:8", | |
"type": "" | |
} | |
], | |
"src": "10680:132:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10892:40:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10903:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "10919:5:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "10913:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10913:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "10903:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10875:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "10885:6:8", | |
"type": "" | |
} | |
], | |
"src": "10818:114:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10996:40:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11007:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "11023:5:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "11017:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11017:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11007:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "10979:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "10989:6:8", | |
"type": "" | |
} | |
], | |
"src": "10938:98:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11117:38:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11127:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "11139:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11144:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11135:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11135:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "next", | |
"nodeType": "YulIdentifier", | |
"src": "11127:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "11104:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "next", | |
"nodeType": "YulTypedName", | |
"src": "11112:4:8", | |
"type": "" | |
} | |
], | |
"src": "11042:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11272:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11289:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11294:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11282:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11282:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11282:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11310:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11329:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11334:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11325:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11325:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "11310:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11244:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11249:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "11260:11:8", | |
"type": "" | |
} | |
], | |
"src": "11161:184:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11446:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11463:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11468:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11456:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11456:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11456:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11484:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11503:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11508:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11499:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11499:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "11484:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11418:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11423:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "11434:11:8", | |
"type": "" | |
} | |
], | |
"src": "11351:168:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11621:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11638:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "11643:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11631:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11631:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11631:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11659:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "11678:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11683:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11674:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11674:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "11659:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "11593:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "11598:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "11609:11:8", | |
"type": "" | |
} | |
], | |
"src": "11525:169:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11744:261:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11754:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11777:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11759:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11759:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11754:1:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11788:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11811:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "11793:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11793:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11788:1:8" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11951:22:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "11953:16:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11953:18:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11953:18:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11872:1:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11879:66:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11947:1:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11875:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11875:74:8" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "11869:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11869:81:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "11866:107:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11983:16:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "11994:1:8" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "11997:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11990:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11990:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "11983:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "11731:1:8", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "11734:1:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "11740:3:8", | |
"type": "" | |
} | |
], | |
"src": "11700:305:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12056:51:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12066:35:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12095:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "12077:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12077:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12066:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12038:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12048:7:8", | |
"type": "" | |
} | |
], | |
"src": "12011:96:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12155:48:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12165:32:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12190:5:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12183:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12183:13:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "12176:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12176:21:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12165:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12137:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12147:7:8", | |
"type": "" | |
} | |
], | |
"src": "12113:90:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12254:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12264:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12275:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12264:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12236:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12246:7:8", | |
"type": "" | |
} | |
], | |
"src": "12209:77:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12337:81:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12347:65:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12362:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12369:42:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "12358:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12358:54:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12347:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12319:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12329:7:8", | |
"type": "" | |
} | |
], | |
"src": "12292:126:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12469:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12479:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12490:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "12479:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12451:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "12461:7:8", | |
"type": "" | |
} | |
], | |
"src": "12424:77:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12581:66:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12591:50:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12635:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "12604:30:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12604:37:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "12591:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_IERC20_$910_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12561:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "12571:9:8", | |
"type": "" | |
} | |
], | |
"src": "12507:140:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12713:66:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12723:50:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12767:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "12736:30:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12736:37:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "12723:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12693:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "12703:9:8", | |
"type": "" | |
} | |
], | |
"src": "12653:126:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12845:53:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12855:37:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12886:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "12868:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12868:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "12855:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12825:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "12835:9:8", | |
"type": "" | |
} | |
], | |
"src": "12785:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12953:258:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "12963:10:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12972:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "12967:1:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13032:63:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13057:3:8" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13062:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13053:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13053:11:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "13076:3:8" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13081:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13072:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13072:11:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "13066:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13066:18:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13046:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13046:39:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13046:39:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "12993:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "12996:6:8" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "12990:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12990:13:8" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "13004:19:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13006:15:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13015:1:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13018:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13011:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13011:10:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13006:1:8" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "12986:3:8", | |
"statements": [] | |
}, | |
"src": "12982:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13129:76:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "13179:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13184:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13175:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13175:16:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13193:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13168:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13168:27:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13168:27:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "13110:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13113:6:8" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "13107:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13107:13:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "13104:101:8" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "12935:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "12940:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "12945:6:8", | |
"type": "" | |
} | |
], | |
"src": "12904:307:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13260:190:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13270:33:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13297:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13279:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13279:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13270:5:8" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13393:22:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "13395:16:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13395:18:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13395:18:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13318:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13325:66:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "13315:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13315:77:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "13312:103:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13424:20:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13435:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13442:1:8", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13431:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13431:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "13424:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "increment_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13246:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "13256:3:8", | |
"type": "" | |
} | |
], | |
"src": "13217:233:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13503:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13513:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13524:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "13513:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13485:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "13495:7:8", | |
"type": "" | |
} | |
], | |
"src": "13456:79:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13588:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13598:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "13609:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "13598:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "13570:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "13580:7:8", | |
"type": "" | |
} | |
], | |
"src": "13541:79:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13660:142:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13670:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13693:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13675:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13675:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13670:1:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13704:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13727:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13709:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13709:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13704:1:8" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13751:22:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "13753:16:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13753:18:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13753:18:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13748:1:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "13741:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13741:9:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "13738:35:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13782:14:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13791:1:8" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13794:1:8" | |
} | |
], | |
"functionName": { | |
"name": "mod", | |
"nodeType": "YulIdentifier", | |
"src": "13787:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13787:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "13782:1:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "mod_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "13649:1:8", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "13652:1:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "13658:1:8", | |
"type": "" | |
} | |
], | |
"src": "13626:176:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13836:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13853:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13856:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13846:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13846:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13846:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13950:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13953:4:8", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13943:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13943:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13943:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13974:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13977:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "13967:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13967:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13967:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "13808:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14022:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14039:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14042:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14032:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14032:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14032:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14136:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14139:4:8", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14129:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14129:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14129:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14160:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14163:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14153:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14153:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14153:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "13994:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14208:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14225:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14228:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14218:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14218:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14218:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14322:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14325:4:8", | |
"type": "", | |
"value": "0x32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14315:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14315:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14315:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14346:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14349:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14339:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14339:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14339:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x32", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14180:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14394:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14411:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14414:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14404:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14404:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14404:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14508:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14511:4:8", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "14501:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14501:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14501:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14532:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14535:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14525:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14525:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14525:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14366:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14641:28:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14658:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14661:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14651:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14651:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14651:12:8" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14552:117:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14764:28:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14781:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14784:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "14774:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14774:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14774:12:8" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14675:117:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14846:54:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14856:38:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14874:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14881:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14870:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14870:14:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14890:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "14886:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14886:7:8" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "14866:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14866:28:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "14856:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14829:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "14839:6:8", | |
"type": "" | |
} | |
], | |
"src": "14798:102:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15012:124:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15034:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15042:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15030:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15030:14:8" | |
}, | |
{ | |
"hexValue": "4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e747261637420", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15046:34:8", | |
"type": "", | |
"value": "Not enough LINK - fill contract " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15023:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15023:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15023:58:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15102:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15110:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15098:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15098:15:8" | |
}, | |
{ | |
"hexValue": "7769746820666175636574", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15115:13:8", | |
"type": "", | |
"value": "with faucet" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15091:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15091:38:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15091:38:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15004:6:8", | |
"type": "" | |
} | |
], | |
"src": "14906:230:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15248:75:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "15270:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15278:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15266:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15266:14:8" | |
}, | |
{ | |
"hexValue": "4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "15282:33:8", | |
"type": "", | |
"value": "Only VRFCoordinator can fulfill" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15259:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15259:57:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15259:57:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "15240:6:8", | |
"type": "" | |
} | |
], | |
"src": "15142:181:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15369:76:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15423:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15432:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15435:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "15425:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15425:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15425:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15392:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15414:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "15399:14:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15399:21:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "15389:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15389:32:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15382:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15382:40:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "15379:60:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15362:5:8", | |
"type": "" | |
} | |
], | |
"src": "15329:116:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15494:79:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15551:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15560:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15563:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "15553:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15553:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15553:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15517:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15542:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "15524:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15524:24:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "15514:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15514:35:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15507:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15507:43:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "15504:63:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15487:5:8", | |
"type": "" | |
} | |
], | |
"src": "15451:122:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15622:79:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15679:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15688:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15691:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "15681:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15681:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15681:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15645:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15670:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "15652:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15652:24:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "15642:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15642:35:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "15635:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15635:43:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "15632:63:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15615:5:8", | |
"type": "" | |
} | |
], | |
"src": "15579:122:8" | |
} | |
] | |
}, | |
"contents": "{\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_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(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_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 abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\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_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(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_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_t_contract$_IERC20_$910_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20_$910_to_t_address(value))\n }\n\n function abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74(pos)\n end := add(pos, 64)\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_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(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_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_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 function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_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 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 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 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 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 abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__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_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack( tail)\n\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 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 abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function 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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\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_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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 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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_IERC20_$910_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function 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 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 leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\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 panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74(memPtr) {\n\n mstore(add(memPtr, 0), \"Not enough LINK - fill contract \")\n\n mstore(add(memPtr, 32), \"with faucet\")\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 validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\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 validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 8, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": { | |
"73": [ | |
{ | |
"length": 32, | |
"start": 1125 | |
}, | |
{ | |
"length": 32, | |
"start": 1497 | |
} | |
], | |
"75": [ | |
{ | |
"length": 32, | |
"start": 920 | |
}, | |
{ | |
"length": 32, | |
"start": 1557 | |
} | |
] | |
}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100935760003560e01c806394985ddd1161006657806394985ddd14610146578063b69ef8a814610162578063bb0602cd14610180578063dbdff2c11461019e578063f851a440146101bc57610093565b8063053e46ff146100985780631b0c27da146100c857806342619f66146100f8578063874b3afc14610116575b600080fd5b6100b260048036038101906100ad91906108fe565b6101da565b6040516100bf9190610b44565b60405180910390f35b6100e260048036038101906100dd9190610864565b6102af565b6040516100ef9190610c4a565b60405180910390f35b6101006102d3565b60405161010d9190610c4a565b60405180910390f35b610130600480360381019061012b91906108be565b6102d9565b60405161013d9190610b44565b60405180910390f35b610160600480360381019061015b9190610824565b610396565b005b61016a610432565b6040516101779190610c4a565b60405180910390f35b610188610438565b6040516101959190610bef565b60405180910390f35b6101a661045e565b6040516101b39190610b66565b60405180910390f35b6101c461058c565b6040516101d19190610aeb565b60405180910390f35b60608267ffffffffffffffff8111156101f6576101f5610f20565b5b6040519080825280602002602001820160405280156102245781602001602082028036833780820191505090505b50905060005b838110156102a7576001838683604051602001610248929190610c65565b6040516020818303038152906040528051906020012060001c61026b9190610e62565b6102759190610cf4565b82828151811061028857610287610ef1565b5b602002602001018181525050808061029f90610e05565b91505061022a565b509392505050565b600781815481106102bf57600080fd5b906000526020600020016000915090505481565b60055481565b60608167ffffffffffffffff8111156102f5576102f4610f20565b5b6040519080825280602002602001820160405280156103235781602001602082028036833780820191505090505b50905060005b8281101561038f578381604051602001610344929190610c65565b6040516020818303038152906040528051906020012060001c8282815181106103705761036f610ef1565b5b602002602001018181525050808061038790610e05565b915050610329565b5092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041b90610c2a565b60405180910390fd5b61042e82826105b2565b5050565b60035481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104bc9190610aeb565b60206040518083038186803b1580156104d457600080fd5b505afa1580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c9190610891565b101561054d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054490610c0a565b60405180910390fd5b61055b6001546002546105d5565b905060078160001c908060018154018082558091505060019003906000526020600020016000909190919091505590565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016032826105c19190610e62565b6105cb9190610cf4565b6005819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001610649929190610b81565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161067693929190610b06565b602060405180830381600087803b15801561069057600080fd5b505af11580156106a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c891906107f7565b5060006106ea8460003060008089815260200190815260200160002054610734565b905060016000808681526020019081526020016000205461070b9190610cf4565b6000808681526020019081526020016000208190555061072b8482610770565b91505092915050565b60008484848460405160200161074d9493929190610baa565b6040516020818303038152906040528051906020012060001c9050949350505050565b60008282604051602001610785929190610abf565b60405160208183030381529060405280519060200120905092915050565b6000815190506107b281610fdd565b92915050565b6000813590506107c781610ff4565b92915050565b6000813590506107dc8161100b565b92915050565b6000815190506107f18161100b565b92915050565b60006020828403121561080d5761080c610f4f565b5b600061081b848285016107a3565b91505092915050565b6000806040838503121561083b5761083a610f4f565b5b6000610849858286016107b8565b925050602061085a858286016107cd565b9150509250929050565b60006020828403121561087a57610879610f4f565b5b6000610888848285016107cd565b91505092915050565b6000602082840312156108a7576108a6610f4f565b5b60006108b5848285016107e2565b91505092915050565b600080604083850312156108d5576108d4610f4f565b5b60006108e3858286016107cd565b92505060206108f4858286016107cd565b9150509250929050565b60008060006060848603121561091757610916610f4f565b5b6000610925868287016107cd565b9350506020610936868287016107cd565b9250506040610947868287016107cd565b9150509250925092565b600061095d8383610a8a565b60208301905092915050565b61097281610d4a565b82525050565b600061098382610c9e565b61098d8185610cc1565b935061099883610c8e565b8060005b838110156109c95781516109b08882610951565b97506109bb83610cb4565b92505060018101905061099c565b5085935050505092915050565b6109df81610d68565b82525050565b6109f66109f182610d68565b610e4e565b82525050565b6000610a0782610ca9565b610a118185610cd2565b9350610a21818560208601610dd2565b610a2a81610f54565b840191505092915050565b610a3e81610d9c565b82525050565b6000610a51602b83610ce3565b9150610a5c82610f65565b604082019050919050565b6000610a74601f83610ce3565b9150610a7f82610fb4565b602082019050919050565b610a9381610d92565b82525050565b610aa281610d92565b82525050565b610ab9610ab482610d92565b610e58565b82525050565b6000610acb82856109e5565b602082019150610adb8284610aa8565b6020820191508190509392505050565b6000602082019050610b006000830184610969565b92915050565b6000606082019050610b1b6000830186610969565b610b286020830185610a99565b8181036040830152610b3a81846109fc565b9050949350505050565b60006020820190508181036000830152610b5e8184610978565b905092915050565b6000602082019050610b7b60008301846109d6565b92915050565b6000604082019050610b9660008301856109d6565b610ba36020830184610a99565b9392505050565b6000608082019050610bbf60008301876109d6565b610bcc6020830186610a99565b610bd96040830185610969565b610be66060830184610a99565b95945050505050565b6000602082019050610c046000830184610a35565b92915050565b60006020820190508181036000830152610c2381610a44565b9050919050565b60006020820190508181036000830152610c4381610a67565b9050919050565b6000602082019050610c5f6000830184610a99565b92915050565b6000604082019050610c7a6000830185610a99565b610c876020830184610a99565b9392505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610cff82610d92565b9150610d0a83610d92565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610d3f57610d3e610e93565b5b828201905092915050565b6000610d5582610d72565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610da782610dae565b9050919050565b6000610db982610dc0565b9050919050565b6000610dcb82610d72565b9050919050565b60005b83811015610df0578082015181840152602081019050610dd5565b83811115610dff576000848401525b50505050565b6000610e1082610d92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610e4357610e42610e93565b5b600182019050919050565b6000819050919050565b6000819050919050565b6000610e6d82610d92565b9150610e7883610d92565b925082610e8857610e87610ec2565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060008201527f7769746820666175636574000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b610fe681610d5c565b8114610ff157600080fd5b50565b610ffd81610d68565b811461100857600080fd5b50565b61101481610d92565b811461101f57600080fd5b5056fea2646970667358221220e8461387f08410cb603c2af3aafe9596baa4bd8f75d085837c6afa2942056b4264736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x94985DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xBB0602CD EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x1BC JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x53E46FF EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x1B0C27DA EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x874B3AFC EQ PUSH2 0x116 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x8FE JUMP JUMPDEST PUSH2 0x1DA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0xB44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x864 JUMP JUMPDEST PUSH2 0x2AF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEF SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x100 PUSH2 0x2D3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10D SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x130 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x8BE JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13D SWAP2 SWAP1 PUSH2 0xB44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x160 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x824 JUMP JUMPDEST PUSH2 0x396 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x432 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x177 SWAP2 SWAP1 PUSH2 0xC4A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x188 PUSH2 0x438 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0xBEF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A6 PUSH2 0x45E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B3 SWAP2 SWAP1 PUSH2 0xB66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C4 PUSH2 0x58C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D1 SWAP2 SWAP1 PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1F6 JUMPI PUSH2 0x1F5 PUSH2 0xF20 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 0x224 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2A7 JUMPI PUSH1 0x1 DUP4 DUP7 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x248 SWAP3 SWAP2 SWAP1 PUSH2 0xC65 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 PUSH2 0x26B SWAP2 SWAP1 PUSH2 0xE62 JUMP JUMPDEST PUSH2 0x275 SWAP2 SWAP1 PUSH2 0xCF4 JUMP JUMPDEST DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x288 JUMPI PUSH2 0x287 PUSH2 0xEF1 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x29F SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x22A JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x7 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2BF 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 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2F5 JUMPI PUSH2 0x2F4 PUSH2 0xF20 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 0x323 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x38F JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x344 SWAP3 SWAP2 SWAP1 PUSH2 0xC65 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 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x370 JUMPI PUSH2 0x36F PUSH2 0xEF1 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x387 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x329 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x424 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41B SWAP1 PUSH2 0xC2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x42E DUP3 DUP3 PUSH2 0x5B2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 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 0x4BC SWAP2 SWAP1 PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4E8 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 0x50C SWAP2 SWAP1 PUSH2 0x891 JUMP JUMPDEST LT ISZERO PUSH2 0x54D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x544 SWAP1 PUSH2 0xC0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x55B PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD PUSH2 0x5D5 JUMP JUMPDEST SWAP1 POP PUSH1 0x7 DUP2 PUSH1 0x0 SHR 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 SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x32 DUP3 PUSH2 0x5C1 SWAP2 SWAP1 PUSH2 0xE62 JUMP JUMPDEST PUSH2 0x5CB SWAP2 SWAP1 PUSH2 0xCF4 JUMP JUMPDEST PUSH1 0x5 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 0x649 SWAP3 SWAP2 SWAP1 PUSH2 0xB81 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 0x676 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB06 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x690 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6A4 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 0x6C8 SWAP2 SWAP1 PUSH2 0x7F7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x6EA DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x734 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 0x70B SWAP2 SWAP1 PUSH2 0xCF4 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 0x72B DUP5 DUP3 PUSH2 0x770 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x74D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA 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 0x785 SWAP3 SWAP2 SWAP1 PUSH2 0xABF 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 PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x7B2 DUP2 PUSH2 0xFDD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7C7 DUP2 PUSH2 0xFF4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7DC DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x7F1 DUP2 PUSH2 0x100B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x80D JUMPI PUSH2 0x80C PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x81B DUP5 DUP3 DUP6 ADD PUSH2 0x7A3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x83B JUMPI PUSH2 0x83A PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x849 DUP6 DUP3 DUP7 ADD PUSH2 0x7B8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x85A DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x87A JUMPI PUSH2 0x879 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x888 DUP5 DUP3 DUP6 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8A7 JUMPI PUSH2 0x8A6 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x8B5 DUP5 DUP3 DUP6 ADD PUSH2 0x7E2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8D5 JUMPI PUSH2 0x8D4 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x8E3 DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x8F4 DUP6 DUP3 DUP7 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x917 JUMPI PUSH2 0x916 PUSH2 0xF4F JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x925 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x936 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x947 DUP7 DUP3 DUP8 ADD PUSH2 0x7CD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x95D DUP4 DUP4 PUSH2 0xA8A JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x972 DUP2 PUSH2 0xD4A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x983 DUP3 PUSH2 0xC9E JUMP JUMPDEST PUSH2 0x98D DUP2 DUP6 PUSH2 0xCC1 JUMP JUMPDEST SWAP4 POP PUSH2 0x998 DUP4 PUSH2 0xC8E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x9C9 JUMPI DUP2 MLOAD PUSH2 0x9B0 DUP9 DUP3 PUSH2 0x951 JUMP JUMPDEST SWAP8 POP PUSH2 0x9BB DUP4 PUSH2 0xCB4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x99C JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9DF DUP2 PUSH2 0xD68 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x9F6 PUSH2 0x9F1 DUP3 PUSH2 0xD68 JUMP JUMPDEST PUSH2 0xE4E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA07 DUP3 PUSH2 0xCA9 JUMP JUMPDEST PUSH2 0xA11 DUP2 DUP6 PUSH2 0xCD2 JUMP JUMPDEST SWAP4 POP PUSH2 0xA21 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xDD2 JUMP JUMPDEST PUSH2 0xA2A DUP2 PUSH2 0xF54 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA3E DUP2 PUSH2 0xD9C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA51 PUSH1 0x2B DUP4 PUSH2 0xCE3 JUMP JUMPDEST SWAP2 POP PUSH2 0xA5C DUP3 PUSH2 0xF65 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA74 PUSH1 0x1F DUP4 PUSH2 0xCE3 JUMP JUMPDEST SWAP2 POP PUSH2 0xA7F DUP3 PUSH2 0xFB4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA93 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAA2 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xAB9 PUSH2 0xAB4 DUP3 PUSH2 0xD92 JUMP JUMPDEST PUSH2 0xE58 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xACB DUP3 DUP6 PUSH2 0x9E5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xADB DUP3 DUP5 PUSH2 0xAA8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB00 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x969 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xB1B PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x969 JUMP JUMPDEST PUSH2 0xB28 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xA99 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xB3A DUP2 DUP5 PUSH2 0x9FC JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB5E DUP2 DUP5 PUSH2 0x978 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB7B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x9D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xB96 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x9D6 JUMP JUMPDEST PUSH2 0xBA3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xBBF PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x9D6 JUMP JUMPDEST PUSH2 0xBCC PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xA99 JUMP JUMPDEST PUSH2 0xBD9 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x969 JUMP JUMPDEST PUSH2 0xBE6 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC04 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA35 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC23 DUP2 PUSH2 0xA44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xC43 DUP2 PUSH2 0xA67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xC5F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xC7A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xA99 JUMP JUMPDEST PUSH2 0xC87 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA99 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 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 PUSH1 0x0 PUSH2 0xCFF DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xD0A DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xD3F JUMPI PUSH2 0xD3E PUSH2 0xE93 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD55 DUP3 PUSH2 0xD72 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDA7 DUP3 PUSH2 0xDAE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB9 DUP3 PUSH2 0xDC0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDCB DUP3 PUSH2 0xD72 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xDF0 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xDD5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xDFF JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE10 DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xE43 JUMPI PUSH2 0xE42 PUSH2 0xE93 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE6D DUP3 PUSH2 0xD92 JUMP JUMPDEST SWAP2 POP PUSH2 0xE78 DUP4 PUSH2 0xD92 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0xE88 JUMPI PUSH2 0xE87 PUSH2 0xEC2 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 PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT 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 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B202D2066696C6C20636F6E747261637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7769746820666175636574000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xFE6 DUP2 PUSH2 0xD5C JUMP JUMPDEST DUP2 EQ PUSH2 0xFF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xFFD DUP2 PUSH2 0xD68 JUMP JUMPDEST DUP2 EQ PUSH2 0x1008 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1014 DUP2 PUSH2 0xD92 JUMP JUMPDEST DUP2 EQ PUSH2 0x101F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE8 CHAINID SGT DUP8 CREATE DUP5 LT 0xCB PUSH1 0x3C 0x2A RETURN 0xAA INVALID SWAP6 SWAP7 0xBA LOG4 0xBD DUP16 PUSH22 0xD085837C6AFA2942056B4264736F6C63430008070033 ", | |
"sourceMap": "304:3251:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2791:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;623:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;513:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2498:291;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9639:225:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;414:22:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;546:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1875:304;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;442:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2791:332;2884:31;2954:1;2940:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2923:33;;2967:9;2962:132;2986:1;2982;:5;2962:132;;;3086:1;3074:8;3054:11;3067:1;3043:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3033:37;;;;;;3025:46;;:57;;;;:::i;:::-;3024:63;;;;:::i;:::-;3004:14;3019:1;3004:17;;;;;;;;:::i;:::-;;;;;;;:83;;;;;2989:3;;;;;:::i;:::-;;;;2962:132;;;;2791:332;;;;;:::o;623:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;513:27::-;;;;:::o;2498:291::-;2567:31;2637:1;2623:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:33;;2650:9;2645:115;2669:1;2665;:5;2645:115;;;2736:11;2749:1;2725:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2715:37;;;;;;2707:46;;2687:14;2702:1;2687:17;;;;;;;;:::i;:::-;;;;;;;:66;;;;;2672:3;;;;;:::i;:::-;;;;2645:115;;;;2498:291;;;;:::o;9639:225:0:-;9763:14;9749:28;;:10;:28;;;9741:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9819:40;9837:9;9848:10;9819:17;:40::i;:::-;9639:225;;:::o;414:22:7:-;;;;:::o;546:71::-;;;;;;;;;;;;;:::o;1875:304::-;1918:20;1991:3;;1958:4;:14;;;1981:4;1958:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;1950:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;2067:31;2085:7;;2094:3;;2067:17;:31::i;:::-;2052:46;;2108:7;2129:12;2121:21;;2108:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:304;:::o;442:65::-;;;;;;;;;;;;;:::o;2336:137::-;2465:1;2459:2;2446:10;:15;;;;:::i;:::-;2445:21;;;;:::i;:::-;2430:12;:36;;;;2336:137;;:::o;7752:1055:0:-;7856:17;7888:4;:20;;;7909:14;7925:4;7942:8;6609:1;7931:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7888:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8206:15;8225:82;8242:8;6609:1;8283:4;8290:6;:16;8297:8;8290:16;;;;;;;;;;;;8225;:82::i;:::-;8206:101;;8756:1;8737:6;:16;8744:8;8737:16;;;;;;;;;;;;:20;;;;:::i;:::-;8718:6;:16;8725:8;8718:16;;;;;;;;;;;:39;;;;8770:32;8784:8;8794:7;8770:13;:32::i;:::-;8763:39;;;7752:1055;;;;:::o;797:266:1:-;958:7;1016:8;1026:9;1037:10;1049:6;1005:51;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;995:62;;;;;;987:71;;980:78;;797:266;;;;;;:::o;1443:204::-;1561:7;1617:8;1627:13;1600:41;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1590:52;;;;;;1583:59;;1443:204;;;;:::o;7:137:8:-;61:5;92:6;86:13;77:22;;108:30;132:5;108:30;:::i;:::-;7:137;;;;:::o;150:139::-;196:5;234:6;221:20;212:29;;250:33;277:5;250:33;:::i;:::-;150:139;;;;:::o;295:::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;295:139;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;440:143;;;;:::o;589:345::-;656:6;705:2;693:9;684:7;680:23;676:32;673:119;;;711:79;;:::i;:::-;673:119;831:1;856:61;909:7;900:6;889:9;885:22;856:61;:::i;:::-;846:71;;802:125;589:345;;;;:::o;940:474::-;1008:6;1016;1065:2;1053:9;1044:7;1040:23;1036:32;1033:119;;;1071:79;;:::i;:::-;1033:119;1191:1;1216:53;1261:7;1252:6;1241:9;1237:22;1216:53;:::i;:::-;1206:63;;1162:117;1318:2;1344:53;1389:7;1380:6;1369:9;1365:22;1344:53;:::i;:::-;1334:63;;1289:118;940:474;;;;;:::o;1420:329::-;1479:6;1528:2;1516:9;1507:7;1503:23;1499:32;1496:119;;;1534:79;;:::i;:::-;1496:119;1654:1;1679:53;1724:7;1715:6;1704:9;1700:22;1679:53;:::i;:::-;1669:63;;1625:117;1420:329;;;;:::o;1755:351::-;1825:6;1874:2;1862:9;1853:7;1849:23;1845:32;1842:119;;;1880:79;;:::i;:::-;1842:119;2000:1;2025:64;2081:7;2072:6;2061:9;2057:22;2025:64;:::i;:::-;2015:74;;1971:128;1755:351;;;;:::o;2112:474::-;2180:6;2188;2237:2;2225:9;2216:7;2212:23;2208:32;2205:119;;;2243:79;;:::i;:::-;2205:119;2363:1;2388:53;2433:7;2424:6;2413:9;2409:22;2388:53;:::i;:::-;2378:63;;2334:117;2490:2;2516:53;2561:7;2552:6;2541:9;2537:22;2516:53;:::i;:::-;2506:63;;2461:118;2112:474;;;;;:::o;2592:619::-;2669:6;2677;2685;2734:2;2722:9;2713:7;2709:23;2705:32;2702:119;;;2740:79;;:::i;:::-;2702:119;2860:1;2885:53;2930:7;2921:6;2910:9;2906:22;2885:53;:::i;:::-;2875:63;;2831:117;2987:2;3013:53;3058:7;3049:6;3038:9;3034:22;3013:53;:::i;:::-;3003:63;;2958:118;3115:2;3141:53;3186:7;3177:6;3166:9;3162:22;3141:53;:::i;:::-;3131:63;;3086:118;2592:619;;;;;:::o;3217:179::-;3286:10;3307:46;3349:3;3341:6;3307:46;:::i;:::-;3385:4;3380:3;3376:14;3362:28;;3217:179;;;;:::o;3402:118::-;3489:24;3507:5;3489:24;:::i;:::-;3484:3;3477:37;3402:118;;:::o;3556:732::-;3675:3;3704:54;3752:5;3704:54;:::i;:::-;3774:86;3853:6;3848:3;3774:86;:::i;:::-;3767:93;;3884:56;3934:5;3884:56;:::i;:::-;3963:7;3994:1;3979:284;4004:6;4001:1;3998:13;3979:284;;;4080:6;4074:13;4107:63;4166:3;4151:13;4107:63;:::i;:::-;4100:70;;4193:60;4246:6;4193:60;:::i;:::-;4183:70;;4039:224;4026:1;4023;4019:9;4014:14;;3979:284;;;3983:14;4279:3;4272:10;;3680:608;;;3556:732;;;;:::o;4294:118::-;4381:24;4399:5;4381:24;:::i;:::-;4376:3;4369:37;4294:118;;:::o;4418:157::-;4523:45;4543:24;4561:5;4543:24;:::i;:::-;4523:45;:::i;:::-;4518:3;4511:58;4418:157;;:::o;4581:360::-;4667:3;4695:38;4727:5;4695:38;:::i;:::-;4749:70;4812:6;4807:3;4749:70;:::i;:::-;4742:77;;4828:52;4873:6;4868:3;4861:4;4854:5;4850:16;4828:52;:::i;:::-;4905:29;4927:6;4905:29;:::i;:::-;4900:3;4896:39;4889:46;;4671:270;4581:360;;;;:::o;4947:159::-;5048:51;5093:5;5048:51;:::i;:::-;5043:3;5036:64;4947:159;;:::o;5112:366::-;5254:3;5275:67;5339:2;5334:3;5275:67;:::i;:::-;5268:74;;5351:93;5440:3;5351:93;:::i;:::-;5469:2;5464:3;5460:12;5453:19;;5112:366;;;:::o;5484:::-;5626:3;5647:67;5711:2;5706:3;5647:67;:::i;:::-;5640:74;;5723:93;5812:3;5723:93;:::i;:::-;5841:2;5836:3;5832:12;5825:19;;5484:366;;;:::o;5856:108::-;5933:24;5951:5;5933:24;:::i;:::-;5928:3;5921:37;5856:108;;:::o;5970:118::-;6057:24;6075:5;6057:24;:::i;:::-;6052:3;6045:37;5970:118;;:::o;6094:157::-;6199:45;6219:24;6237:5;6219:24;:::i;:::-;6199:45;:::i;:::-;6194:3;6187:58;6094:157;;:::o;6257:397::-;6397:3;6412:75;6483:3;6474:6;6412:75;:::i;:::-;6512:2;6507:3;6503:12;6496:19;;6525:75;6596:3;6587:6;6525:75;:::i;:::-;6625:2;6620:3;6616:12;6609:19;;6645:3;6638:10;;6257:397;;;;;:::o;6660:222::-;6753:4;6791:2;6780:9;6776:18;6768:26;;6804:71;6872:1;6861:9;6857:17;6848:6;6804:71;:::i;:::-;6660:222;;;;:::o;6888:529::-;7055:4;7093:2;7082:9;7078:18;7070:26;;7106:71;7174:1;7163:9;7159:17;7150:6;7106:71;:::i;:::-;7187:72;7255:2;7244:9;7240:18;7231:6;7187:72;:::i;:::-;7306:9;7300:4;7296:20;7291:2;7280:9;7276:18;7269:48;7334:76;7405:4;7396:6;7334:76;:::i;:::-;7326:84;;6888:529;;;;;;:::o;7423:373::-;7566:4;7604:2;7593:9;7589:18;7581:26;;7653:9;7647:4;7643:20;7639:1;7628:9;7624:17;7617:47;7681:108;7784:4;7775:6;7681:108;:::i;:::-;7673:116;;7423:373;;;;:::o;7802:222::-;7895:4;7933:2;7922:9;7918:18;7910:26;;7946:71;8014:1;8003:9;7999:17;7990:6;7946:71;:::i;:::-;7802:222;;;;:::o;8030:332::-;8151:4;8189:2;8178:9;8174:18;8166:26;;8202:71;8270:1;8259:9;8255:17;8246:6;8202:71;:::i;:::-;8283:72;8351:2;8340:9;8336:18;8327:6;8283:72;:::i;:::-;8030:332;;;;;:::o;8368:553::-;8545:4;8583:3;8572:9;8568:19;8560:27;;8597:71;8665:1;8654:9;8650:17;8641:6;8597:71;:::i;:::-;8678:72;8746:2;8735:9;8731:18;8722:6;8678:72;:::i;:::-;8760;8828:2;8817:9;8813:18;8804:6;8760:72;:::i;:::-;8842;8910:2;8899:9;8895:18;8886:6;8842:72;:::i;:::-;8368:553;;;;;;;:::o;8927:250::-;9034:4;9072:2;9061:9;9057:18;9049:26;;9085:85;9167:1;9156:9;9152:17;9143:6;9085:85;:::i;:::-;8927:250;;;;:::o;9183:419::-;9349:4;9387:2;9376:9;9372:18;9364:26;;9436:9;9430:4;9426:20;9422:1;9411:9;9407:17;9400:47;9464:131;9590:4;9464:131;:::i;:::-;9456:139;;9183:419;;;:::o;9608:::-;9774:4;9812:2;9801:9;9797:18;9789:26;;9861:9;9855:4;9851:20;9847:1;9836:9;9832:17;9825:47;9889:131;10015:4;9889:131;:::i;:::-;9881:139;;9608:419;;;:::o;10033:222::-;10126:4;10164:2;10153:9;10149:18;10141:26;;10177:71;10245:1;10234:9;10230:17;10221:6;10177:71;:::i;:::-;10033:222;;;;:::o;10261:332::-;10382:4;10420:2;10409:9;10405:18;10397:26;;10433:71;10501:1;10490:9;10486:17;10477:6;10433:71;:::i;:::-;10514:72;10582:2;10571:9;10567:18;10558:6;10514:72;:::i;:::-;10261:332;;;;;:::o;10680:132::-;10747:4;10770:3;10762:11;;10800:4;10795:3;10791:14;10783:22;;10680:132;;;:::o;10818:114::-;10885:6;10919:5;10913:12;10903:22;;10818:114;;;:::o;10938:98::-;10989:6;11023:5;11017:12;11007:22;;10938:98;;;:::o;11042:113::-;11112:4;11144;11139:3;11135:14;11127:22;;11042:113;;;:::o;11161:184::-;11260:11;11294:6;11289:3;11282:19;11334:4;11329:3;11325:14;11310:29;;11161:184;;;;:::o;11351:168::-;11434:11;11468:6;11463:3;11456:19;11508:4;11503:3;11499:14;11484:29;;11351:168;;;;:::o;11525:169::-;11609:11;11643:6;11638:3;11631:19;11683:4;11678:3;11674:14;11659:29;;11525:169;;;;:::o;11700:305::-;11740:3;11759:20;11777:1;11759:20;:::i;:::-;11754:25;;11793:20;11811:1;11793:20;:::i;:::-;11788:25;;11947:1;11879:66;11875:74;11872:1;11869:81;11866:107;;;11953:18;;:::i;:::-;11866:107;11997:1;11994;11990:9;11983:16;;11700:305;;;;:::o;12011:96::-;12048:7;12077:24;12095:5;12077:24;:::i;:::-;12066:35;;12011:96;;;:::o;12113:90::-;12147:7;12190:5;12183:13;12176:21;12165:32;;12113:90;;;:::o;12209:77::-;12246:7;12275:5;12264:16;;12209:77;;;:::o;12292:126::-;12329:7;12369:42;12362:5;12358:54;12347:65;;12292:126;;;:::o;12424:77::-;12461:7;12490:5;12479:16;;12424:77;;;:::o;12507:140::-;12571:9;12604:37;12635:5;12604:37;:::i;:::-;12591:50;;12507:140;;;:::o;12653:126::-;12703:9;12736:37;12767:5;12736:37;:::i;:::-;12723:50;;12653:126;;;:::o;12785:113::-;12835:9;12868:24;12886:5;12868:24;:::i;:::-;12855:37;;12785:113;;;:::o;12904:307::-;12972:1;12982:113;12996:6;12993:1;12990:13;12982:113;;;13081:1;13076:3;13072:11;13066:18;13062:1;13057:3;13053:11;13046:39;13018:2;13015:1;13011:10;13006:15;;12982:113;;;13113:6;13110:1;13107:13;13104:101;;;13193:1;13184:6;13179:3;13175:16;13168:27;13104:101;12953:258;12904:307;;;:::o;13217:233::-;13256:3;13279:24;13297:5;13279:24;:::i;:::-;13270:33;;13325:66;13318:5;13315:77;13312:103;;;13395:18;;:::i;:::-;13312:103;13442:1;13435:5;13431:13;13424:20;;13217:233;;;:::o;13456:79::-;13495:7;13524:5;13513:16;;13456:79;;;:::o;13541:::-;13580:7;13609:5;13598:16;;13541:79;;;:::o;13626:176::-;13658:1;13675:20;13693:1;13675:20;:::i;:::-;13670:25;;13709:20;13727:1;13709:20;:::i;:::-;13704:25;;13748:1;13738:35;;13753:18;;:::i;:::-;13738:35;13794:1;13791;13787:9;13782:14;;13626:176;;;;:::o;13808:180::-;13856:77;13853:1;13846:88;13953:4;13950:1;13943:15;13977:4;13974:1;13967:15;13994:180;14042:77;14039:1;14032:88;14139:4;14136:1;14129:15;14163:4;14160:1;14153:15;14180:180;14228:77;14225:1;14218:88;14325:4;14322:1;14315:15;14349:4;14346:1;14339:15;14366:180;14414:77;14411:1;14404:88;14511:4;14508:1;14501:15;14535:4;14532:1;14525:15;14675:117;14784:1;14781;14774:12;14798:102;14839:6;14890:2;14886:7;14881:2;14874:5;14870:14;14866:28;14856:38;;14798:102;;;:::o;14906:230::-;15046:34;15042:1;15034:6;15030:14;15023:58;15115:13;15110:2;15102:6;15098:15;15091:38;14906:230;:::o;15142:181::-;15282:33;15278:1;15270:6;15266:14;15259:57;15142:181;:::o;15329:116::-;15399:21;15414:5;15399:21;:::i;:::-;15392:5;15389:32;15379:60;;15435:1;15432;15425:12;15379:60;15329:116;:::o;15451:122::-;15524:24;15542:5;15524:24;:::i;:::-;15517:5;15514:35;15504:63;;15563:1;15560;15553:12;15504:63;15451:122;:::o;15579:::-;15652:24;15670:5;15652:24;:::i;:::-;15645:5;15642:35;15632:63;;15691:1;15688;15681:12;15632:63;15579:122;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "836800", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"Link()": "2644", | |
"admin()": "2602", | |
"balance()": "2451", | |
"expand(uint256,uint256)": "infinite", | |
"getRandomNumber()": "infinite", | |
"moduloExpand(uint256,uint256,uint256)": "infinite", | |
"randomResult()": "2474", | |
"rawFulfillRandomness(bytes32,uint256)": "infinite", | |
"results(uint256)": "infinite" | |
}, | |
"internal": { | |
"fulfillRandomness(bytes32,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"Link()": "bb0602cd", | |
"admin()": "f851a440", | |
"balance()": "b69ef8a8", | |
"expand(uint256,uint256)": "874b3afc", | |
"getRandomNumber()": "dbdff2c1", | |
"moduloExpand(uint256,uint256,uint256)": "053e46ff", | |
"randomResult()": "42619f66", | |
"rawFulfillRandomness(bytes32,uint256)": "94985ddd", | |
"results(uint256)": "1b0c27da" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Withdraw", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "Link", | |
"outputs": [ | |
{ | |
"internalType": "contract IERC20", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
} | |
], | |
"name": "expand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRandomNumber", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "randomNumber", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "modParam", | |
"type": "uint256" | |
} | |
], | |
"name": "moduloExpand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"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": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "results", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Withdraw", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "Link", | |
"outputs": [ | |
{ | |
"internalType": "contract IERC20", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
} | |
], | |
"name": "expand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRandomNumber", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "randomNumber", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "modParam", | |
"type": "uint256" | |
} | |
], | |
"name": "moduloExpand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"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": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "results", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"constructor": { | |
"notice": "Constructor inherits VRFConsumerBase Network: Matic Chainlink VRF Coordinator address: 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9 LINK token address: 0xa36085F69e2889c224210F603D836748e7dC0088 Key Hash: 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4" | |
}, | |
"getRandomNumber()": { | |
"notice": "Requests randomness " | |
} | |
}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/ImpossibleChainlink.sol": "ImpossibleChainlink" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/VRFConsumerBase.sol": { | |
"keccak256": "0x991e49ee47043d6667887d7ed6ab5a0f8e4e5550f92b09b0d75c1fb1a473cd8d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://a688c48fa681a7958d5cbb4e1845290ae317e2dfa1a059faae44c69d83409414", | |
"dweb:/ipfs/Qmb5Gpjya5VJ9LnwkEBfMr5DtDH462VBjXcA6uAU2f1Vj9" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/VRFRequestIDBase.sol": { | |
"keccak256": "0x7c8dad07e6c6c9269d97fd1191ccf9c0f0068683f1f88003e688eef9373de0d9", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://1d88c83a359c70f6b2e2e05d8f7611cce4a3d316a65e5175e14bcf9a6ced98af", | |
"dweb:/ipfs/QmeH3BEuVvaaQsz7sN5myEnFLoabTG4j85vS9Z6rfJkads" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol": { | |
"keccak256": "0x50528c237386c55ff122d047f91b32be7abe24e9dfdc609de21cd605aae83b9a", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://92037bd13b34432f9377cb205c0039bd0724af66ea605598db31d4ccd33f879f", | |
"dweb:/ipfs/QmdH6Ef5PZgcPrJuWboLX5MhmezzTFniZCwJ6fk2tYVua4" | |
] | |
}, | |
"contracts/Context.sol": { | |
"keccak256": "0xf85ba24aca6a219be58ee82e453490f1358ac94d67f42e8c15ad93dd24b9d9dc", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://c1ff02d829b413a27234a2837b9adfd84693dcf508a2935967be9f4592160cc1", | |
"dweb:/ipfs/QmengRHPpNR9gtQDtbBPh8ugXYUnm23Z8V7txrxr6Whfrd" | |
] | |
}, | |
"contracts/ERC20.sol": { | |
"keccak256": "0x8ba7d16b0287ff1bc020e8e1e2c28ba2a59c698b40ff1026f7853ae891c71f43", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f1e3f1e154dfed1473cdcd7b012047ec3a64ebf504e0883974f092f096c765fd", | |
"dweb:/ipfs/QmSUu3LFgyNLgVgxXvJ3upBSAf8Qtqy2oxrRVuy57JVJ6E" | |
] | |
}, | |
"contracts/IERC20.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
}, | |
"contracts/IERC20Metadata.sol": { | |
"keccak256": "0x4065401847859fdea8270079da0d5d94d4d6bcb16b83753f25d77c03bc9fa66d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ddc99a4763150db86205a0b0313dda9db3b4c1cc283933cb9228d63ea71a7495", | |
"dweb:/ipfs/QmaVKXyFDwYPZ1iRrjAEbbaFYWSfrYdz4jfaeFJ7EWzT6k" | |
] | |
}, | |
"contracts/ImpossibleChainlink.sol": { | |
"keccak256": "0xa87d8164a5fd0adfd788f5606b2a2e6c7e232a3bb3f52a17e9a657d6c1ed7180", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://05b80b26b9285db8519561a8bad58dbe1465d1a13df9f5ee82c72ab53abad9a1", | |
"dweb:/ipfs/QmZNK4Dq9ME1aaYiZuF7PQhzdrbz3ztbe9nT2D7PdWktZr" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": { | |
"@_1296": { | |
"entryPoint": null, | |
"id": 1296, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@_98": { | |
"entryPoint": null, | |
"id": 98, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60c06040527331050af1f1b26b6cbfd0ea277b775c268b7ecb07600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b0897686c545045afc77cf20ec7a532e3120e0f1600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100ba57600080fd5b50733d2341adb2d31f1c5530cdc622016af293177ae073b0897686c545045afc77cf20ec7a532e3120e0f18173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050507ff86195cf7690c55907b2b611ebb7343a6f649bff128701cc542f0569e2c549da60001b600181905550655af3107a400060028190555060805160601c60a05160601c6112af6101c56000396000818161041701526107cb0152600081816104de015261078f01526112af6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806394985ddd1161005b57806394985ddd14610129578063bb0602cd14610145578063dbdff2c114610163578063f851a4401461018157610088565b80631b0c27da1461008d57806342619f66146100bd578063874b3afc146100db5780638dc654a21461010b575b600080fd5b6100a760048036038101906100a29190610a1a565b61019f565b6040516100b49190610ea4565b60405180910390f35b6100c56101c3565b6040516100d29190610ea4565b60405180910390f35b6100f560048036038101906100f09190610a74565b6101c9565b6040516101029190610d5e565b60405180910390f35b610113610286565b6040516101209190610ea4565b60405180910390f35b610143600480360381019061013e91906109da565b610415565b005b61014d6104b1565b60405161015a9190610e09565b60405180910390f35b61016b6104d7565b6040516101789190610d80565b60405180910390f35b610189610605565b6040516101969190610cdc565b60405180910390f35b600681815481106101af57600080fd5b906000526020600020016000915090505481565b60045481565b60608167ffffffffffffffff8111156101e5576101e4611125565b5b6040519080825280602002602001820160405280156102135781602001602082028036833780820191505090505b50905060005b8281101561027f578381604051602001610234929190610ebf565b6040516020818303038152906040528051906020012060001c8282815181106102605761025f6110f6565b5b60200260200101818152505080806102779061106a565b915050610219565b5092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90610e84565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103739190610cdc565b60206040518083038186803b15801561038b57600080fd5b505afa15801561039f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c39190610a47565b90506104123382600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661062b9092919063ffffffff16565b90565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049a90610e64565b60405180910390fd5b6104ad8282610780565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105359190610cdc565b60206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105859190610a47565b10156105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd90610e44565b60405180910390fd5b6105d460015460025461078b565b905060068160001c908060018154018082558091505060019003906000526020600020016000909190919091505590565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b8585604051602401610660929190610cf7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106ca9190610cc5565b6000604051808303816000865af19150503d8060008114610707576040519150601f19603f3d011682016040523d82523d6000602084013e61070c565b606091505b509150915081801561073a575060008151148061073957508080602001905181019061073891906109ad565b5b5b610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090610e24565b60405180910390fd5b5050505050565b806004819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016107ff929190610d9b565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161082c93929190610d20565b602060405180830381600087803b15801561084657600080fd5b505af115801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e91906109ad565b5060006108a084600030600080898152602001908152602001600020546108ea565b90506001600080868152602001908152602001600020546108c19190610f59565b600080868152602001908152602001600020819055506108e18482610926565b91505092915050565b6000848484846040516020016109039493929190610dc4565b6040516020818303038152906040528051906020012060001c9050949350505050565b6000828260405160200161093b929190610c99565b60405160208183030381529060405280519060200120905092915050565b60008151905061096881611234565b92915050565b60008135905061097d8161124b565b92915050565b60008135905061099281611262565b92915050565b6000815190506109a781611262565b92915050565b6000602082840312156109c3576109c2611154565b5b60006109d184828501610959565b91505092915050565b600080604083850312156109f1576109f0611154565b5b60006109ff8582860161096e565b9250506020610a1085828601610983565b9150509250929050565b600060208284031215610a3057610a2f611154565b5b6000610a3e84828501610983565b91505092915050565b600060208284031215610a5d57610a5c611154565b5b6000610a6b84828501610998565b91505092915050565b60008060408385031215610a8b57610a8a611154565b5b6000610a9985828601610983565b9250506020610aaa85828601610983565b9150509250929050565b6000610ac08383610c64565b60208301905092915050565b610ad581610faf565b82525050565b6000610ae682610ef8565b610af08185610f1b565b9350610afb83610ee8565b8060005b83811015610b2c578151610b138882610ab4565b9750610b1e83610f0e565b925050600181019050610aff565b5085935050505092915050565b610b4281610fcd565b82525050565b610b59610b5482610fcd565b6110b3565b82525050565b6000610b6a82610f03565b610b748185610f2c565b9350610b84818560208601611037565b610b8d81611159565b840191505092915050565b6000610ba382610f03565b610bad8185610f3d565b9350610bbd818560208601611037565b80840191505092915050565b610bd281611001565b82525050565b6000610be5601c83610f48565b9150610bf08261116a565b602082019050919050565b6000610c08602b83610f48565b9150610c1382611193565b604082019050919050565b6000610c2b601f83610f48565b9150610c36826111e2565b602082019050919050565b6000610c4e601183610f48565b9150610c598261120b565b602082019050919050565b610c6d81610ff7565b82525050565b610c7c81610ff7565b82525050565b610c93610c8e82610ff7565b6110bd565b82525050565b6000610ca58285610b48565b602082019150610cb58284610c82565b6020820191508190509392505050565b6000610cd18284610b98565b915081905092915050565b6000602082019050610cf16000830184610acc565b92915050565b6000604082019050610d0c6000830185610acc565b610d196020830184610c73565b9392505050565b6000606082019050610d356000830186610acc565b610d426020830185610c73565b8181036040830152610d548184610b5f565b9050949350505050565b60006020820190508181036000830152610d788184610adb565b905092915050565b6000602082019050610d956000830184610b39565b92915050565b6000604082019050610db06000830185610b39565b610dbd6020830184610c73565b9392505050565b6000608082019050610dd96000830187610b39565b610de66020830186610c73565b610df36040830185610acc565b610e006060830184610c73565b95945050505050565b6000602082019050610e1e6000830184610bc9565b92915050565b60006020820190508181036000830152610e3d81610bd8565b9050919050565b60006020820190508181036000830152610e5d81610bfb565b9050919050565b60006020820190508181036000830152610e7d81610c1e565b9050919050565b60006020820190508181036000830152610e9d81610c41565b9050919050565b6000602082019050610eb96000830184610c73565b92915050565b6000604082019050610ed46000830185610c73565b610ee16020830184610c73565b9392505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610f6482610ff7565b9150610f6f83610ff7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fa457610fa36110c7565b5b828201905092915050565b6000610fba82610fd7565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061100c82611013565b9050919050565b600061101e82611025565b9050919050565b600061103082610fd7565b9050919050565b60005b8381101561105557808201518184015260208101905061103a565b83811115611064576000848401525b50505050565b600061107582610ff7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110a8576110a76110c7565b5b600182019050919050565b6000819050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426f72696e6745524332303a205472616e73666572206661696c656400000000600082015250565b7f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060008201527f7769746820666175636574000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b7f63616c6c6572206e6f742066756e646572000000000000000000000000000000600082015250565b61123d81610fc1565b811461124857600080fd5b50565b61125481610fcd565b811461125f57600080fd5b50565b61126b81610ff7565b811461127657600080fd5b5056fea2646970667358221220e5fcfe6f89fe1f72b34f9119dd3f84a19bc87cd57d1cac907272144d0096b6d364736f6c63430008070033", | |
"opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH20 0x31050AF1F1B26B6CBFD0EA277B775C268B7ECB07 PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH20 0xB0897686C545045AFC77CF20EC7A532E3120E0F1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0x3D2341ADB2D31F1C5530CDC622016AF293177AE0 PUSH20 0xB0897686C545045AFC77CF20EC7A532E3120E0F1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0xA0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x80 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x60 SHL DUP2 MSTORE POP POP POP POP PUSH32 0xF86195CF7690C55907B2B611EBB7343A6F649BFF128701CC542F0569E2C549DA PUSH1 0x0 SHL PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH6 0x5AF3107A4000 PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x80 MLOAD PUSH1 0x60 SHR PUSH1 0xA0 MLOAD PUSH1 0x60 SHR PUSH2 0x12AF PUSH2 0x1C5 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x417 ADD MSTORE PUSH2 0x7CB ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x4DE ADD MSTORE PUSH2 0x78F ADD MSTORE PUSH2 0x12AF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x94985DDD EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0xBB0602CD EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x181 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x1B0C27DA EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0x874B3AFC EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x10B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0x1C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH2 0x1C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x102 SWAP2 SWAP1 PUSH2 0xD5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x113 PUSH2 0x286 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x120 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x143 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x415 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14D PUSH2 0x4B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0xE09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16B PUSH2 0x4D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x6 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1AF 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 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E5 JUMPI PUSH2 0x1E4 PUSH2 0x1125 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 0x213 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x27F JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x234 SWAP3 SWAP2 SWAP1 PUSH2 0xEBF 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 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x260 JUMPI PUSH2 0x25F PUSH2 0x10F6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x277 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x219 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x318 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x30F SWAP1 PUSH2 0xE84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x38B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39F 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 0x3C3 SWAP2 SWAP1 PUSH2 0xA47 JUMP JUMPDEST SWAP1 POP PUSH2 0x412 CALLER DUP3 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x62B SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49A SWAP1 PUSH2 0xE64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4AD DUP3 DUP3 PUSH2 0x780 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 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 0x535 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x54D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x561 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 0x585 SWAP2 SWAP1 PUSH2 0xA47 JUMP JUMPDEST LT ISZERO PUSH2 0x5C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5BD SWAP1 PUSH2 0xE44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5D4 PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD PUSH2 0x78B JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x0 SHR 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 SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x660 SWAP3 SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 SWAP1 PUSH2 0xCC5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x707 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x70C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x73A JUMPI POP PUSH1 0x0 DUP2 MLOAD EQ DUP1 PUSH2 0x739 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x738 SWAP2 SWAP1 PUSH2 0x9AD JUMP JUMPDEST JUMPDEST JUMPDEST PUSH2 0x779 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x770 SWAP1 PUSH2 0xE24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x4 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 0x7FF SWAP3 SWAP2 SWAP1 PUSH2 0xD9B 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 0x82C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x85A 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 0x87E SWAP2 SWAP1 PUSH2 0x9AD JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x8A0 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8EA 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 0x8C1 SWAP2 SWAP1 PUSH2 0xF59 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 0x8E1 DUP5 DUP3 PUSH2 0x926 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x903 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDC4 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 0x93B SWAP3 SWAP2 SWAP1 PUSH2 0xC99 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 PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x968 DUP2 PUSH2 0x1234 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x97D DUP2 PUSH2 0x124B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x992 DUP2 PUSH2 0x1262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x9A7 DUP2 PUSH2 0x1262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C3 JUMPI PUSH2 0x9C2 PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9D1 DUP5 DUP3 DUP6 ADD PUSH2 0x959 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9F1 JUMPI PUSH2 0x9F0 PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9FF DUP6 DUP3 DUP7 ADD PUSH2 0x96E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA10 DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA3E DUP5 DUP3 DUP6 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA5D JUMPI PUSH2 0xA5C PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA6B DUP5 DUP3 DUP6 ADD PUSH2 0x998 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA8B JUMPI PUSH2 0xA8A PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA99 DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAAA DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC0 DUP4 DUP4 PUSH2 0xC64 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAD5 DUP2 PUSH2 0xFAF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE6 DUP3 PUSH2 0xEF8 JUMP JUMPDEST PUSH2 0xAF0 DUP2 DUP6 PUSH2 0xF1B JUMP JUMPDEST SWAP4 POP PUSH2 0xAFB DUP4 PUSH2 0xEE8 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB2C JUMPI DUP2 MLOAD PUSH2 0xB13 DUP9 DUP3 PUSH2 0xAB4 JUMP JUMPDEST SWAP8 POP PUSH2 0xB1E DUP4 PUSH2 0xF0E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xAFF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB42 DUP2 PUSH2 0xFCD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB59 PUSH2 0xB54 DUP3 PUSH2 0xFCD JUMP JUMPDEST PUSH2 0x10B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6A DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH2 0xB74 DUP2 DUP6 PUSH2 0xF2C JUMP JUMPDEST SWAP4 POP PUSH2 0xB84 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1037 JUMP JUMPDEST PUSH2 0xB8D DUP2 PUSH2 0x1159 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA3 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH2 0xBAD DUP2 DUP6 PUSH2 0xF3D JUMP JUMPDEST SWAP4 POP PUSH2 0xBBD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1037 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBD2 DUP2 PUSH2 0x1001 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE5 PUSH1 0x1C DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xBF0 DUP3 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC08 PUSH1 0x2B DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC13 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2B PUSH1 0x1F DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC36 DUP3 PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC4E PUSH1 0x11 DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC59 DUP3 PUSH2 0x120B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC6D DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC7C DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC93 PUSH2 0xC8E DUP3 PUSH2 0xFF7 JUMP JUMPDEST PUSH2 0x10BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA5 DUP3 DUP6 PUSH2 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xCB5 DUP3 DUP5 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD1 DUP3 DUP5 PUSH2 0xB98 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCF1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xACC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xD0C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xD19 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xD35 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xD42 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xC73 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xD54 DUP2 DUP5 PUSH2 0xB5F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD78 DUP2 DUP5 PUSH2 0xADB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD95 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xDB0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0xDBD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xDD9 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0xDE6 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0xDF3 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xE00 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE1E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE3D DUP2 PUSH2 0xBD8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE5D DUP2 PUSH2 0xBFB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE7D DUP2 PUSH2 0xC1E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE9D DUP2 PUSH2 0xC41 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEB9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xED4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0xEE1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF64 DUP3 PUSH2 0xFF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xF6F DUP4 PUSH2 0xFF7 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xFA4 JUMPI PUSH2 0xFA3 PUSH2 0x10C7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFBA DUP3 PUSH2 0xFD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100C DUP3 PUSH2 0x1013 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x101E DUP3 PUSH2 0x1025 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1030 DUP3 PUSH2 0xFD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1055 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x103A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1064 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1075 DUP3 PUSH2 0xFF7 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x10A8 JUMPI PUSH2 0x10A7 PUSH2 0x10C7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT 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 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x426F72696E6745524332303A205472616E73666572206661696C656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B202D2066696C6C20636F6E747261637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7769746820666175636574000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x63616C6C6572206E6F742066756E646572000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x123D DUP2 PUSH2 0xFC1 JUMP JUMPDEST DUP2 EQ PUSH2 0x1248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1254 DUP2 PUSH2 0xFCD JUMP JUMPDEST DUP2 EQ PUSH2 0x125F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x126B DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0xFC INVALID PUSH16 0x89FE1F72B34F9119DD3F84A19BC87CD5 PUSH30 0x1CAC907272144D0096B6D364736F6C634300080700330000000000000000 ", | |
"sourceMap": "3886:2483:7:-:0;;;4059:42;4036:65;;;;;;;;;;;;;;;;;;;;4168:42;4140:71;;;;;;;;;;;;;;;;;;;;4632:363;;;;;;;;;;4684:42;4765;9386:15:0;9369:32;;;;;;;;;;;;9433:5;9407:32;;;;;;;;;;;;9299:145;;4857:66:7::1;4847:76;;:7;:76;;;;4939:17;4933:3;:23;;;;3886:2483:::0;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@Link_1268": { | |
"entryPoint": 1201, | |
"id": 1268, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@admin_1260": { | |
"entryPoint": 1541, | |
"id": 1260, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@expand_1425": { | |
"entryPoint": 457, | |
"id": 1425, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@fulfillRandomness_1377": { | |
"entryPoint": 1920, | |
"id": 1377, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@getRandomNumber_1346": { | |
"entryPoint": 1239, | |
"id": 1346, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@makeRequestId_169": { | |
"entryPoint": 2342, | |
"id": 169, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@makeVRFInputSeed_150": { | |
"entryPoint": 2282, | |
"id": 150, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"@randomResult_1262": { | |
"entryPoint": 451, | |
"id": 1262, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@rawFulfillRandomness_119": { | |
"entryPoint": 1045, | |
"id": 119, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"@requestRandomness_70": { | |
"entryPoint": 1931, | |
"id": 70, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"@results_1271": { | |
"entryPoint": 415, | |
"id": 1271, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@safeTransfer_1195": { | |
"entryPoint": 1579, | |
"id": 1195, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"@withdrawLink_1451": { | |
"entryPoint": 646, | |
"id": 1451, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bool_fromMemory": { | |
"entryPoint": 2393, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_bytes32": { | |
"entryPoint": 2414, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 2435, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 2456, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_bool_fromMemory": { | |
"entryPoint": 2477, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_bytes32t_uint256": { | |
"entryPoint": 2522, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 2586, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256_fromMemory": { | |
"entryPoint": 2631, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256t_uint256": { | |
"entryPoint": 2676, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": { | |
"entryPoint": 2740, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 2764, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 2779, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 2873, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack": { | |
"entryPoint": 2888, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 2911, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 2968, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack": { | |
"entryPoint": 3017, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3032, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3067, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3102, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3137, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256": { | |
"entryPoint": 3172, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 3187, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack": { | |
"entryPoint": 3202, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 3225, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { | |
"entryPoint": 3269, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 3292, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { | |
"entryPoint": 3319, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3360, | |
"id": null, | |
"parameterSlots": 4, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3422, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 3456, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed": { | |
"entryPoint": 3483, | |
"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": 3524, | |
"id": null, | |
"parameterSlots": 5, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed": { | |
"entryPoint": 3593, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3620, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3652, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3684, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 3716, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 3748, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed": { | |
"entryPoint": 3775, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3816, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3832, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_length_t_bytes_memory_ptr": { | |
"entryPoint": 3843, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": { | |
"entryPoint": 3854, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": { | |
"entryPoint": 3867, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": { | |
"entryPoint": 3884, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack": { | |
"entryPoint": 3901, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 3912, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 3929, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 4015, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bool": { | |
"entryPoint": 4033, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 4045, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 4055, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 4087, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_contract$_IERC20_$910_to_t_address": { | |
"entryPoint": 4097, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_address": { | |
"entryPoint": 4115, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"convert_t_uint160_to_t_uint160": { | |
"entryPoint": 4133, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory": { | |
"entryPoint": 4151, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"increment_t_uint256": { | |
"entryPoint": 4202, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"leftAlign_t_bytes32": { | |
"entryPoint": 4275, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"leftAlign_t_uint256": { | |
"entryPoint": 4285, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 4295, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x32": { | |
"entryPoint": 4342, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x41": { | |
"entryPoint": 4389, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 4436, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 4441, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"store_literal_in_memory_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27": { | |
"entryPoint": 4458, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74": { | |
"entryPoint": 4499, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445": { | |
"entryPoint": 4578, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a": { | |
"entryPoint": 4619, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bool": { | |
"entryPoint": 4660, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_bytes32": { | |
"entryPoint": 4683, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 4706, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:17809:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "67:77:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "77:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "92:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "86:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "86:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "77:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "132:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "108:23:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "108:30:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "108:30:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "45:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "53:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "61:5:8", | |
"type": "" | |
} | |
], | |
"src": "7:137:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "202:87:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "212:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "234:6:8" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "221:12:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "221:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "212:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "277:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "250:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "250:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "250:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "180:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "188:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "196:5:8", | |
"type": "" | |
} | |
], | |
"src": "150:139:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "347:87:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "357:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "379:6:8" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "366:12:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "366:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "357:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "422:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "395:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "395:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "395:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "325:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "333:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "341:5:8", | |
"type": "" | |
} | |
], | |
"src": "295:139:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "503:80:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "513:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "528:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "522:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "522:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "513:5:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "571:5:8" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "544:26:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "544:33:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "544:33:8" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "481:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "489:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "497:5:8", | |
"type": "" | |
} | |
], | |
"src": "440:143:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "663:271:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "709:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "711:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "711:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "711:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "684:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "693:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "680:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "680:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "705:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "676:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "676:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "673:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "802:125:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "817:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "831:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "821:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "846:71:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "889:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "900:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "885:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "885:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "909:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bool_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "856:28:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "856:61:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "846:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bool_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "633:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "644:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "656:6:8", | |
"type": "" | |
} | |
], | |
"src": "589:345:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1023:391:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1069:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1071:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1071:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1071:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1044:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1053:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1040:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1040:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1065:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1036:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1036:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1033:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1162:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1177:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1191:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1181:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1206:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1241:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1252:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1237:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1237:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1261:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "1216:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1216:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1206:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1289:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1304:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1318:2:8", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1308:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1334:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1369:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1380:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1365:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1365:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1389:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1344:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1344:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "1334:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_bytes32t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "985:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "996:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1008:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1016:6:8", | |
"type": "" | |
} | |
], | |
"src": "940:474:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1486:263:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1532:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1534:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1534:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1534:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1507:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1516:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1503:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1503:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1528:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1499:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1499:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1496:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1625:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1640:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1654:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1644:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1669:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1704:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1715:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1700:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1700:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1724:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1679:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1679:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1669:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1456:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1467:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1479:6:8", | |
"type": "" | |
} | |
], | |
"src": "1420:329:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:274:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1878:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1880:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1880:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1880:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1853:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1862:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1849:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1849:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1874:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1845:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1845:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "1842:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1971:128:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1986:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2000:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1990:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2015:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2061:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2072:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2057:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2057:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2081:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2025:31:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2025:64:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2015:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1802:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1813:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1825:6:8", | |
"type": "" | |
} | |
], | |
"src": "1755:351:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2195:391:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2241:83:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "2243:77:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2243:79:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2243:79:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2216:7:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2225:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "2212:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2212:23:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2237:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "2208:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2208:32:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "2205:119:8" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2334:117:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2349:15:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2363:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2353:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2378:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2413:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2424:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2409:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2409:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2433:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2388:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2388:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2378:6:8" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2461:118:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2476:16:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2490:2:8", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2480:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2506:63:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2541:9:8" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2552:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2537:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2537:22:8" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2561:7:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2516:20:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2516:53:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2506:6:8" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2157:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "2168:7:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2180:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "2188:6:8", | |
"type": "" | |
} | |
], | |
"src": "2112:474:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2672:99:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2716:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2724:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2682:33:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2682:46:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2682:46:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2737:28:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2755:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2760:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2751:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2751:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulIdentifier", | |
"src": "2737:10:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2645:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2653:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updatedPos", | |
"nodeType": "YulTypedName", | |
"src": "2661:10:8", | |
"type": "" | |
} | |
], | |
"src": "2592:179:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2842:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2859:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2882:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "2864:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2864:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2852:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2852:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2852:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2830:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2837:3:8", | |
"type": "" | |
} | |
], | |
"src": "2777:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3055:608:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3065:68:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3127:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3079:47:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3079:54:8" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "3069:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3142:93:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3223:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3228:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3149:73:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3149:86:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3142:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3244:71:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3309:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3259:49:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3259:56:8" | |
}, | |
"variables": [ | |
{ | |
"name": "baseRef", | |
"nodeType": "YulTypedName", | |
"src": "3248:7:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3324:21:8", | |
"value": { | |
"name": "baseRef", | |
"nodeType": "YulIdentifier", | |
"src": "3338:7:8" | |
}, | |
"variables": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulTypedName", | |
"src": "3328:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3414:224:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3428:34:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3455:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "3449:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3449:13:8" | |
}, | |
"variables": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulTypedName", | |
"src": "3432:13:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3475:70:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "elementValue0", | |
"nodeType": "YulIdentifier", | |
"src": "3526:13:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3541:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3482:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3482:63:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3475:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3558:70:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3621:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "3568:52:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3568:60:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "srcPtr", | |
"nodeType": "YulIdentifier", | |
"src": "3558:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "3376:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "3379:6:8" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "3373:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3373:13:8" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "3387:18:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3389:14:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "3398:1:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3401:1:8", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3394:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3394:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "3389:1:8" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "3358:14:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "3360:10:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3369:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "3364:1:8", | |
"type": "" | |
} | |
] | |
} | |
] | |
}, | |
"src": "3354:284:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3647:10:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3654:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3647:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "3034:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3041:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3050:3:8", | |
"type": "" | |
} | |
], | |
"src": "2931:732:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3734:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3751:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3774:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3756:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3756:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3744:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3744:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3744:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3722:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3729:3:8", | |
"type": "" | |
} | |
], | |
"src": "3669:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3876:74:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3893:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "3936:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3918:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3918:24:8" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "3898:19:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3898:45:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3886:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3886:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3886:58:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "3864:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3871:3:8", | |
"type": "" | |
} | |
], | |
"src": "3793:157:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4046:270:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4056:52:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4102:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4070:31:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4070:38:8" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4060:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4117:77:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4182:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4187:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4124:57:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4124:70:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4117:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4229:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4236:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4225:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4225:16:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4243:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4248:6:8" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4203:21:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4203:52:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4203:52:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4264:46:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4275:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4302:6:8" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulIdentifier", | |
"src": "4280:21:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4280:29:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4271:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4271:39:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4264:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4027:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4034:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4042:3:8", | |
"type": "" | |
} | |
], | |
"src": "3956:360:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4430:265:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4440:52:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4486:5:8" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulIdentifier", | |
"src": "4454:31:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4454:38:8" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "4444:6:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4501:95:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4584:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4589:6:8" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "4508:75:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4508:88:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4501:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4631:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4638:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4627:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4627:16:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4645:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4650:6:8" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulIdentifier", | |
"src": "4605:21:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4605:52:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4605:52:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4666:23:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4677:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "4682:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "4673:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4673:16:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "4666:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4411:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4418:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4426:3:8", | |
"type": "" | |
} | |
], | |
"src": "4322:373:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4780:80:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "4797:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4847:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_contract$_IERC20_$910_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "4802:44:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4802:51:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4790:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4790:64:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4790:64:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4768:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "4775:3:8", | |
"type": "" | |
} | |
], | |
"src": "4701:159:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5012:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5022:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5088:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5093:2:8", | |
"type": "", | |
"value": "28" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5029:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5029:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5022:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5194:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27", | |
"nodeType": "YulIdentifier", | |
"src": "5105:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5105:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5105:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5207:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5218:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5223:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5214:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5214:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5207:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5000:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5008:3:8", | |
"type": "" | |
} | |
], | |
"src": "4866:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5384:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5394:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5460:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5465:2:8", | |
"type": "", | |
"value": "43" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5401:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5401:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5394:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5566:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74", | |
"nodeType": "YulIdentifier", | |
"src": "5477:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5477:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5477:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5579:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5590:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5595:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5586:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5586:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5579:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5372:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5380:3:8", | |
"type": "" | |
} | |
], | |
"src": "5238:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5756:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5766:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5832:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5837:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "5773:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5773:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5766:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5938:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
"nodeType": "YulIdentifier", | |
"src": "5849:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5849:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5849:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5951:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "5962:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5967:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5958:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5958:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "5951:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "5744:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5752:3:8", | |
"type": "" | |
} | |
], | |
"src": "5610:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6128:220:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6138:74:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6204:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6209:2:8", | |
"type": "", | |
"value": "17" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6145:58:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6145:67:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6138:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6310:3:8" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a", | |
"nodeType": "YulIdentifier", | |
"src": "6221:88:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6221:93:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6221:93:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6323:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6334:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6339:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6330:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6330:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "6323:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6116:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6124:3:8", | |
"type": "" | |
} | |
], | |
"src": "5982:366:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6409:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6426:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6449:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6431:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6431:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6419:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6419:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6419:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6397:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6404:3:8", | |
"type": "" | |
} | |
], | |
"src": "6354:108:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6533:53:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6550:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6573:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6555:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6555:24:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6543:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6543:37:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6543:37:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6521:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6528:3:8", | |
"type": "" | |
} | |
], | |
"src": "6468:118:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6675:74:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6692:3:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "6735:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6717:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6717:24:8" | |
} | |
], | |
"functionName": { | |
"name": "leftAlign_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "6697:19:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6697:45:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "6685:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6685:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6685:58:8" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "6663:5:8", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "6670:3:8", | |
"type": "" | |
} | |
], | |
"src": "6592:157:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6899:253:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "6972:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6981:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "6910:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6910:75:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6910:75:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6994:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7005:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7010:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7001:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7001:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "6994:3:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7085:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7094:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7023:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7023:75:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7023:75:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7107:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7118:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7123:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7114:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7114:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7107:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7136:10:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7143:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7136:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "6870:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "6876:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "6884:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "6895:3:8", | |
"type": "" | |
} | |
], | |
"src": "6755:397:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7292:137:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7303:100:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7390:6:8" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7399:3:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7310:79:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7310:93:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7303:3:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7413:10:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "7420:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "7413:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "7271:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7277:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "7288:3:8", | |
"type": "" | |
} | |
], | |
"src": "7158:271:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7533:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7543:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7555:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7566:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7551:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7551:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7543:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7623:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7636:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7647:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7632:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7632:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7579:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7579:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7579:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7505:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7517:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7528:4:8", | |
"type": "" | |
} | |
], | |
"src": "7435:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7789:206:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "7799:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7811:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7822:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7807:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7807:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "7799:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "7879:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7892:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7903:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7888:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7888:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7835:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7835:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7835:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "7960:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "7973:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "7984:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "7969:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7969:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "7916:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7916:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7916:72:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "7753:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "7765:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "7773:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "7784:4:8", | |
"type": "" | |
} | |
], | |
"src": "7663:332:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8173:357:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8183:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8195:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8206:2:8", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8191:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8191:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8183:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8263:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8276:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8287:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8272:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8272:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8219:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8219:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8219:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "8344:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8357:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8368:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8353:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8353:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8300:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8300:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8300:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8393:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8404:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8389:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8389:18:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8413:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8419:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8409:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8409:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8382:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8382:48:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8382:48:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8439:84:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "8509:6:8" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8518:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8447:61:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8447:76:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8439:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "8129:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "8141:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "8149:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8157:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8168:4:8", | |
"type": "" | |
} | |
], | |
"src": "8001:529:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "8684:225:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8694:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8706:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8717:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8702:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8702:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8694:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8741:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "8752:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "8737:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8737:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8760:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "8766:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "8756:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8756:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "8730:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8730:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "8730:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "8786:116:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "8888:6:8" | |
}, | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8897:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "8794:93:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "8794:108:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "8786:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"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": "8656:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8668:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "8679:4:8", | |
"type": "" | |
} | |
], | |
"src": "8536:373:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9013:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9023:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9035:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9046:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9031:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9031:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9023:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9103:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9116:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9127:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9112:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9112:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9059:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9059:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9059:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "8985:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "8997:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9008:4:8", | |
"type": "" | |
} | |
], | |
"src": "8915:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9269:206:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9279:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9291:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9302:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9287:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9287:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9279:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9359:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9372:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9383:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9368:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9368:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9315:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9315:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9315:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9440:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9453:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9464:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9449:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9449:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9396:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9396:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9396:72:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32_t_uint256__to_t_bytes32_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "9233:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "9245:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9253:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9264:4:8", | |
"type": "" | |
} | |
], | |
"src": "9143:332:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "9663:371:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "9673:27:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9685:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9696:3:8", | |
"type": "", | |
"value": "128" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9681:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9681:19:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "9673:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "9754:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9767:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9778:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9763:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9763:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9710:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9710:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9710:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "9835:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9848:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9859:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9844:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9844:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9791:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9791:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9791:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "9917:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "9930:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "9941:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "9926:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9926:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9873:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9873:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9873:72:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "9999:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10012:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10023:2:8", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10008:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10008:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "9955:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "9955:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "9955:72:8" | |
} | |
] | |
}, | |
"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": "9611:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "9623:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "9631:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "9639:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "9647:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "9658:4:8", | |
"type": "" | |
} | |
], | |
"src": "9481:553:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10152:138:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10162:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10174:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10185:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10170:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10170:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10162:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "10256:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10269:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10280:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10265:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10265:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10198:57:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10198:85:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10198:85:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10124:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "10136:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10147:4:8", | |
"type": "" | |
} | |
], | |
"src": "10040:250:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10467:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10477:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10489:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10500:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10485:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10485:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10477:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10524:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10535:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10520:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10520:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10543:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10549:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10539:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10539:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10513:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10513:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10513:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10569:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10703:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "10577:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10577:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10569:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10447:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10462:4:8", | |
"type": "" | |
} | |
], | |
"src": "10296:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "10892:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10902:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10914:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10925:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10910:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10910:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10902:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10949:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "10960:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "10945:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10945:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10968:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "10974:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "10964:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10964:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "10938:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "10938:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "10938:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "10994:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11128:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11002:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11002:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "10994:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "10872:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "10887:4:8", | |
"type": "" | |
} | |
], | |
"src": "10721:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11317:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11327:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11339:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11350:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11335:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11335:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11327:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11374:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11385:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11370:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11370:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11393:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11399:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11389:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11389:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11363:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11363:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11363:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11419:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11553:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11427:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11427:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11419:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11297:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11312:4:8", | |
"type": "" | |
} | |
], | |
"src": "11146:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "11742:248:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11752:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11764:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11775:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11760:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11760:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11752:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11799:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "11810:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "11795:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11795:17:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11818:4:8" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "11824:9:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "11814:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11814:20:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "11788:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11788:47:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "11788:47:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "11844:139:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11978:4:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "11852:124:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "11852:131:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "11844:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "11722:9:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "11737:4:8", | |
"type": "" | |
} | |
], | |
"src": "11571:419:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12094:124:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12104:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12116:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12127:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12112:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12112:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12104:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12184:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12197:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12208:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12193:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12193:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12140:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12140:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12140:71:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12066:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12078:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12089:4:8", | |
"type": "" | |
} | |
], | |
"src": "11996:222:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12350:206:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12360:26:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12372:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12383:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12368:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12368:18:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "12360:4:8" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "12440:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12453:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12464:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12449:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12449:17:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12396:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12396:71:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12396:71:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "12521:6:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "12534:9:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12545:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12530:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12530:18:8" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "12477:43:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12477:72:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "12477:72:8" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "12314:9:8", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "12326:6:8", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "12334:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "12345:4:8", | |
"type": "" | |
} | |
], | |
"src": "12224:332:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12602:35:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12612:19:8", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12628:2:8", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "12622:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12622:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "12612:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "12595:6:8", | |
"type": "" | |
} | |
], | |
"src": "12562:75:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12715:60:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12725:11:8", | |
"value": { | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "12733:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "12725:4:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12746:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "12758:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "12763:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "12754:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12754:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "data", | |
"nodeType": "YulIdentifier", | |
"src": "12746:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "12702:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "data", | |
"nodeType": "YulTypedName", | |
"src": "12710:4:8", | |
"type": "" | |
} | |
], | |
"src": "12643:132:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12855:40:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12866:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12882:5:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "12876:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12876:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "12866:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12838:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "12848:6:8", | |
"type": "" | |
} | |
], | |
"src": "12781:114:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "12959:40:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "12970:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "12986:5:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "12980:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "12980:12:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "12970:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_bytes_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "12942:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "12952:6:8", | |
"type": "" | |
} | |
], | |
"src": "12901:98:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13080:38:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13090:22:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulIdentifier", | |
"src": "13102:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13107:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13098:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13098:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "next", | |
"nodeType": "YulIdentifier", | |
"src": "13090:4:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "ptr", | |
"nodeType": "YulTypedName", | |
"src": "13067:3:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "next", | |
"nodeType": "YulTypedName", | |
"src": "13075:4:8", | |
"type": "" | |
} | |
], | |
"src": "13005:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13235:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13252:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13257:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13245:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13245:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13245:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13273:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13292:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13297:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13288:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13288:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "13273:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13207:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13212:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "13223:11:8", | |
"type": "" | |
} | |
], | |
"src": "13124:184:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13409:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13426:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13431:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13419:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13419:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13419:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13447:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13466:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13471:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13462:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13462:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "13447:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13381:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13386:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "13397:11:8", | |
"type": "" | |
} | |
], | |
"src": "13314:168:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13601:34:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13611:18:8", | |
"value": { | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13626:3:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "13611:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13573:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13578:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "13589:11:8", | |
"type": "" | |
} | |
], | |
"src": "13488:147:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13737:73:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13754:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "13759:6:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "13747:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13747:19:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "13747:19:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13775:29:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "13794:3:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13799:4:8", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "13790:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13790:14:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "13775:11:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "13709:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "13714:6:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "13725:11:8", | |
"type": "" | |
} | |
], | |
"src": "13641:169:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "13860:261:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13870:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13893:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13875:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13875:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13870:1:8" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "13904:25:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13927:1:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "13909:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13909:20:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "13904:1:8" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14067:22:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "14069:16:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14069:18:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "14069:18:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "13988:1:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "13995:66:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14063:1:8" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "13991:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13991:74:8" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "13985:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "13985:81:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "13982:107:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14099:16:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "14110:1:8" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "14113:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "14106:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14106:9:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "14099:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "13847:1:8", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "13850:1:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "13856:3:8", | |
"type": "" | |
} | |
], | |
"src": "13816:305:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14172:51:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14182:35:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14211:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "14193:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14193:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14182:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14154:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14164:7:8", | |
"type": "" | |
} | |
], | |
"src": "14127:96:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14271:48:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14281:32:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14306:5:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "14299:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14299:13:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "14292:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14292:21:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14281:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14253:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14263:7:8", | |
"type": "" | |
} | |
], | |
"src": "14229:90:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14370:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14380:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14391:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14380:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14352:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14362:7:8", | |
"type": "" | |
} | |
], | |
"src": "14325:77:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14453:81:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14463:65:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14478:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "14485:42:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "14474:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14474:54:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14463:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14435:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14445:7:8", | |
"type": "" | |
} | |
], | |
"src": "14408:126:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14585:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14595:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14606:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "14595:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14567:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "14577:7:8", | |
"type": "" | |
} | |
], | |
"src": "14540:77:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14697:66:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14707:50:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14751:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "14720:30:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14720:37:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "14707:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_contract$_IERC20_$910_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14677:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "14687:9:8", | |
"type": "" | |
} | |
], | |
"src": "14623:140:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14829:66:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14839:50:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "14883:5:8" | |
} | |
], | |
"functionName": { | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "14852:30:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14852:37:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "14839:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14809:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "14819:9:8", | |
"type": "" | |
} | |
], | |
"src": "14769:126:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "14961:53:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "14971:37:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15002:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "14984:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "14984:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulIdentifier", | |
"src": "14971:9:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "convert_t_uint160_to_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "14941:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "converted", | |
"nodeType": "YulTypedName", | |
"src": "14951:9:8", | |
"type": "" | |
} | |
], | |
"src": "14901:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15069:258:8", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "15079:10:8", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15088:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nodeType": "YulTypedName", | |
"src": "15083:1:8", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15148:63:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "15173:3:8" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15178:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15169:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15169:11:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nodeType": "YulIdentifier", | |
"src": "15192:3:8" | |
}, | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15197:1:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15188:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15188:11:8" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "15182:5:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15182:18:8" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15162:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15162:39:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15162:39:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15109:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15112:6:8" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nodeType": "YulIdentifier", | |
"src": "15106:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15106:13:8" | |
}, | |
"nodeType": "YulForLoop", | |
"post": { | |
"nodeType": "YulBlock", | |
"src": "15120:19:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15122:15:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15131:1:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15134:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15127:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15127:10:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15122:1:8" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nodeType": "YulBlock", | |
"src": "15102:3:8", | |
"statements": [] | |
}, | |
"src": "15098:113:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15245:76:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nodeType": "YulIdentifier", | |
"src": "15295:3:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15300:6:8" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15291:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15291:16:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15309:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15284:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15284:27:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15284:27:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nodeType": "YulIdentifier", | |
"src": "15226:1:8" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "15229:6:8" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "15223:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15223:13:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "15220:101:8" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nodeType": "YulTypedName", | |
"src": "15051:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nodeType": "YulTypedName", | |
"src": "15056:3:8", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "15061:6:8", | |
"type": "" | |
} | |
], | |
"src": "15020:307:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15376:190:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15386:33:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15413:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "15395:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15395:24:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15386:5:8" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15509:22:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "15511:16:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15511:18:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15511:18:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15434:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15441:66:8", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "15431:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15431:77:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "15428:103:8" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15540:20:8", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15551:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15558:1:8", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "15547:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15547:13:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulIdentifier", | |
"src": "15540:3:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "increment_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15362:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "ret", | |
"nodeType": "YulTypedName", | |
"src": "15372:3:8", | |
"type": "" | |
} | |
], | |
"src": "15333:233:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15619:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15629:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15640:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "15629:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15601:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "15611:7:8", | |
"type": "" | |
} | |
], | |
"src": "15572:79:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15704:32:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "15714:16:8", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "15725:5:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulIdentifier", | |
"src": "15714:7:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "leftAlign_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "15686:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "aligned", | |
"nodeType": "YulTypedName", | |
"src": "15696:7:8", | |
"type": "" | |
} | |
], | |
"src": "15657:79:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15770:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15787:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15790:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15780:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15780:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15780:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15884:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15887:4:8", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15877:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15877:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15877:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15908:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15911:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "15901:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15901:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15901:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "15742:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "15956:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15973:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "15976:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "15966:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "15966:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "15966:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16070:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16073:4:8", | |
"type": "", | |
"value": "0x32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16063:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16063:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16063:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16094:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16097:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16087:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16087:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16087:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x32", | |
"nodeType": "YulFunctionDefinition", | |
"src": "15928:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16142:152:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16159:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16162:77:8", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16152:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16152:88:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16152:88:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16256:1:8", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16259:4:8", | |
"type": "", | |
"value": "0x41" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16249:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16249:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16249:15:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16280:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16283:4:8", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16273:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16273:15:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16273:15:8" | |
} | |
] | |
}, | |
"name": "panic_error_0x41", | |
"nodeType": "YulFunctionDefinition", | |
"src": "16114:180:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16389:28:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16406:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16409:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16399:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16399:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16399:12:8" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "16300:117:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16512:28:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16529:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16532:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "16522:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16522:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16522:12:8" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "16423:117:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16594:54:8", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "16604:38:8", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "16622:5:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16629:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16618:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16618:14:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16638:2:8", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nodeType": "YulIdentifier", | |
"src": "16634:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16634:7:8" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "16614:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16614:28:8" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nodeType": "YulIdentifier", | |
"src": "16604:6:8" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "16577:5:8", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nodeType": "YulTypedName", | |
"src": "16587:6:8", | |
"type": "" | |
} | |
], | |
"src": "16546:102:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16760:72:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16782:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16790:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16778:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16778:14:8" | |
}, | |
{ | |
"hexValue": "426f72696e6745524332303a205472616e73666572206661696c6564", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "16794:30:8", | |
"type": "", | |
"value": "BoringERC20: Transfer failed" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16771:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16771:54:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16771:54:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "16752:6:8", | |
"type": "" | |
} | |
], | |
"src": "16654:178:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "16944:124:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "16966:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "16974:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "16962:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16962:14:8" | |
}, | |
{ | |
"hexValue": "4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e747261637420", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "16978:34:8", | |
"type": "", | |
"value": "Not enough LINK - fill contract " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "16955:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "16955:58:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "16955:58:8" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "17034:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17042:2:8", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17030:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17030:15:8" | |
}, | |
{ | |
"hexValue": "7769746820666175636574", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "17047:13:8", | |
"type": "", | |
"value": "with faucet" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17023:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17023:38:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17023:38:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "16936:6:8", | |
"type": "" | |
} | |
], | |
"src": "16838:230:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17180:75:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "17202:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17210:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17198:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17198:14:8" | |
}, | |
{ | |
"hexValue": "4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "17214:33:8", | |
"type": "", | |
"value": "Only VRFCoordinator can fulfill" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17191:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17191:57:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17191:57:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_aa31d97d949424087cac59e348924584a13a8784d3590fa798a0967391035445", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "17172:6:8", | |
"type": "" | |
} | |
], | |
"src": "17074:181:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17367:61:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "17389:6:8" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17397:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "17385:3:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17385:14:8" | |
}, | |
{ | |
"hexValue": "63616c6c6572206e6f742066756e646572", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "17401:19:8", | |
"type": "", | |
"value": "caller not funder" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "17378:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17378:43:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17378:43:8" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "17359:6:8", | |
"type": "" | |
} | |
], | |
"src": "17261:167:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17474:76:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17528:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17537:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17540:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17530:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17530:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17530:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17497:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17519:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bool", | |
"nodeType": "YulIdentifier", | |
"src": "17504:14:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17504:21:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "17494:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17494:32:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "17487:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17487:40:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "17484:60:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bool", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "17467:5:8", | |
"type": "" | |
} | |
], | |
"src": "17434:116:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17599:79:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17656:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17665:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17668:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17658:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17658:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17658:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17622:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17647:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nodeType": "YulIdentifier", | |
"src": "17629:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17629:24:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "17619:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17619:35:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "17612:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17612:43:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "17609:63:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_bytes32", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "17592:5:8", | |
"type": "" | |
} | |
], | |
"src": "17556:122:8" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17727:79:8", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "17784:16:8", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17793:1:8", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "17796:1:8", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "17786:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17786:12:8" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "17786:12:8" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17750:5:8" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "17775:5:8" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "17757:17:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17757:24:8" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "17747:2:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17747:35:8" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "17740:6:8" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "17740:43:8" | |
}, | |
"nodeType": "YulIf", | |
"src": "17737:63:8" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "17720:5:8", | |
"type": "" | |
} | |
], | |
"src": "17684:122:8" | |
} | |
] | |
}, | |
"contents": "{\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_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(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_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 abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\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_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(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_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_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20_$910_to_t_address(value))\n }\n\n function abi_encode_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74(pos)\n end := add(pos, 64)\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_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a(pos)\n end := add(pos, 32)\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_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(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_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 function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_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 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 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 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 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 abi_encode_tuple_t_contract$_IERC20_$910__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20_$910_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27__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_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74__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_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74_to_t_string_memory_ptr_fromStack( tail)\n\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 abi_encode_tuple_t_stringliteral_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a__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_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a_to_t_string_memory_ptr_fromStack( tail)\n\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 abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function 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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\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_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function 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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function convert_t_contract$_IERC20_$910_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function 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 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 leftAlign_t_bytes32(value) -> aligned {\n aligned := value\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_1a3f0851ddc9e157ae96e52ed9dfd71a8cb4b1cf2a73b26b9f3f9e0aa9469d27(memPtr) {\n\n mstore(add(memPtr, 0), \"BoringERC20: Transfer failed\")\n\n }\n\n function store_literal_in_memory_4bb3a9958b8c6e95beec57f36a0352593367170b4a84072c44b036bee3a36e74(memPtr) {\n\n mstore(add(memPtr, 0), \"Not enough LINK - fill contract \")\n\n mstore(add(memPtr, 32), \"with faucet\")\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 store_literal_in_memory_f3c22969426f4d47b02f60e89833068c492296345fe126023802bc7df28e195a(memPtr) {\n\n mstore(add(memPtr, 0), \"caller not funder\")\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
"id": 8, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": { | |
"73": [ | |
{ | |
"length": 32, | |
"start": 1246 | |
}, | |
{ | |
"length": 32, | |
"start": 1935 | |
} | |
], | |
"75": [ | |
{ | |
"length": 32, | |
"start": 1047 | |
}, | |
{ | |
"length": 32, | |
"start": 1995 | |
} | |
] | |
}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600436106100885760003560e01c806394985ddd1161005b57806394985ddd14610129578063bb0602cd14610145578063dbdff2c114610163578063f851a4401461018157610088565b80631b0c27da1461008d57806342619f66146100bd578063874b3afc146100db5780638dc654a21461010b575b600080fd5b6100a760048036038101906100a29190610a1a565b61019f565b6040516100b49190610ea4565b60405180910390f35b6100c56101c3565b6040516100d29190610ea4565b60405180910390f35b6100f560048036038101906100f09190610a74565b6101c9565b6040516101029190610d5e565b60405180910390f35b610113610286565b6040516101209190610ea4565b60405180910390f35b610143600480360381019061013e91906109da565b610415565b005b61014d6104b1565b60405161015a9190610e09565b60405180910390f35b61016b6104d7565b6040516101789190610d80565b60405180910390f35b610189610605565b6040516101969190610cdc565b60405180910390f35b600681815481106101af57600080fd5b906000526020600020016000915090505481565b60045481565b60608167ffffffffffffffff8111156101e5576101e4611125565b5b6040519080825280602002602001820160405280156102135781602001602082028036833780820191505090505b50905060005b8281101561027f578381604051602001610234929190610ebf565b6040516020818303038152906040528051906020012060001c8282815181106102605761025f6110f6565b5b60200260200101818152505080806102779061106a565b915050610219565b5092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030f90610e84565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103739190610cdc565b60206040518083038186803b15801561038b57600080fd5b505afa15801561039f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c39190610a47565b90506104123382600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661062b9092919063ffffffff16565b90565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049a90610e64565b60405180910390fd5b6104ad8282610780565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006002547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105359190610cdc565b60206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105859190610a47565b10156105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd90610e44565b60405180910390fd5b6105d460015460025461078b565b905060068160001c908060018154018082558091505060019003906000526020600020016000909190919091505590565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b8585604051602401610660929190610cf7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106ca9190610cc5565b6000604051808303816000865af19150503d8060008114610707576040519150601f19603f3d011682016040523d82523d6000602084013e61070c565b606091505b509150915081801561073a575060008151148061073957508080602001905181019061073891906109ad565b5b5b610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090610e24565b60405180910390fd5b5050505050565b806004819055505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f0000000000000000000000000000000000000000000000000000000000000000848660006040516020016107ff929190610d9b565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161082c93929190610d20565b602060405180830381600087803b15801561084657600080fd5b505af115801561085a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e91906109ad565b5060006108a084600030600080898152602001908152602001600020546108ea565b90506001600080868152602001908152602001600020546108c19190610f59565b600080868152602001908152602001600020819055506108e18482610926565b91505092915050565b6000848484846040516020016109039493929190610dc4565b6040516020818303038152906040528051906020012060001c9050949350505050565b6000828260405160200161093b929190610c99565b60405160208183030381529060405280519060200120905092915050565b60008151905061096881611234565b92915050565b60008135905061097d8161124b565b92915050565b60008135905061099281611262565b92915050565b6000815190506109a781611262565b92915050565b6000602082840312156109c3576109c2611154565b5b60006109d184828501610959565b91505092915050565b600080604083850312156109f1576109f0611154565b5b60006109ff8582860161096e565b9250506020610a1085828601610983565b9150509250929050565b600060208284031215610a3057610a2f611154565b5b6000610a3e84828501610983565b91505092915050565b600060208284031215610a5d57610a5c611154565b5b6000610a6b84828501610998565b91505092915050565b60008060408385031215610a8b57610a8a611154565b5b6000610a9985828601610983565b9250506020610aaa85828601610983565b9150509250929050565b6000610ac08383610c64565b60208301905092915050565b610ad581610faf565b82525050565b6000610ae682610ef8565b610af08185610f1b565b9350610afb83610ee8565b8060005b83811015610b2c578151610b138882610ab4565b9750610b1e83610f0e565b925050600181019050610aff565b5085935050505092915050565b610b4281610fcd565b82525050565b610b59610b5482610fcd565b6110b3565b82525050565b6000610b6a82610f03565b610b748185610f2c565b9350610b84818560208601611037565b610b8d81611159565b840191505092915050565b6000610ba382610f03565b610bad8185610f3d565b9350610bbd818560208601611037565b80840191505092915050565b610bd281611001565b82525050565b6000610be5601c83610f48565b9150610bf08261116a565b602082019050919050565b6000610c08602b83610f48565b9150610c1382611193565b604082019050919050565b6000610c2b601f83610f48565b9150610c36826111e2565b602082019050919050565b6000610c4e601183610f48565b9150610c598261120b565b602082019050919050565b610c6d81610ff7565b82525050565b610c7c81610ff7565b82525050565b610c93610c8e82610ff7565b6110bd565b82525050565b6000610ca58285610b48565b602082019150610cb58284610c82565b6020820191508190509392505050565b6000610cd18284610b98565b915081905092915050565b6000602082019050610cf16000830184610acc565b92915050565b6000604082019050610d0c6000830185610acc565b610d196020830184610c73565b9392505050565b6000606082019050610d356000830186610acc565b610d426020830185610c73565b8181036040830152610d548184610b5f565b9050949350505050565b60006020820190508181036000830152610d788184610adb565b905092915050565b6000602082019050610d956000830184610b39565b92915050565b6000604082019050610db06000830185610b39565b610dbd6020830184610c73565b9392505050565b6000608082019050610dd96000830187610b39565b610de66020830186610c73565b610df36040830185610acc565b610e006060830184610c73565b95945050505050565b6000602082019050610e1e6000830184610bc9565b92915050565b60006020820190508181036000830152610e3d81610bd8565b9050919050565b60006020820190508181036000830152610e5d81610bfb565b9050919050565b60006020820190508181036000830152610e7d81610c1e565b9050919050565b60006020820190508181036000830152610e9d81610c41565b9050919050565b6000602082019050610eb96000830184610c73565b92915050565b6000604082019050610ed46000830185610c73565b610ee16020830184610c73565b9392505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610f6482610ff7565b9150610f6f83610ff7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610fa457610fa36110c7565b5b828201905092915050565b6000610fba82610fd7565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061100c82611013565b9050919050565b600061101e82611025565b9050919050565b600061103082610fd7565b9050919050565b60005b8381101561105557808201518184015260208101905061103a565b83811115611064576000848401525b50505050565b600061107582610ff7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110a8576110a76110c7565b5b600182019050919050565b6000819050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426f72696e6745524332303a205472616e73666572206661696c656400000000600082015250565b7f4e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742060008201527f7769746820666175636574000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00600082015250565b7f63616c6c6572206e6f742066756e646572000000000000000000000000000000600082015250565b61123d81610fc1565b811461124857600080fd5b50565b61125481610fcd565b811461125f57600080fd5b50565b61126b81610ff7565b811461127657600080fd5b5056fea2646970667358221220e5fcfe6f89fe1f72b34f9119dd3f84a19bc87cd57d1cac907272144d0096b6d364736f6c63430008070033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94985DDD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x94985DDD EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0xBB0602CD EQ PUSH2 0x145 JUMPI DUP1 PUSH4 0xDBDFF2C1 EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x181 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x1B0C27DA EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x42619F66 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0x874B3AFC EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x10B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH2 0x19F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0x1C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0xA74 JUMP JUMPDEST PUSH2 0x1C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x102 SWAP2 SWAP1 PUSH2 0xD5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x113 PUSH2 0x286 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x120 SWAP2 SWAP1 PUSH2 0xEA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x143 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x9DA JUMP JUMPDEST PUSH2 0x415 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14D PUSH2 0x4B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15A SWAP2 SWAP1 PUSH2 0xE09 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16B PUSH2 0x4D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x178 SWAP2 SWAP1 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x189 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x196 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x6 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1AF 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 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E5 JUMPI PUSH2 0x1E4 PUSH2 0x1125 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 0x213 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x27F JUMPI DUP4 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x234 SWAP3 SWAP2 SWAP1 PUSH2 0xEBF 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 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x260 JUMPI PUSH2 0x25F PUSH2 0x10F6 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 DUP2 MSTORE POP POP DUP1 DUP1 PUSH2 0x277 SWAP1 PUSH2 0x106A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x219 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x318 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x30F SWAP1 PUSH2 0xE84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x70A08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x373 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x38B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x39F 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 0x3C3 SWAP2 SWAP1 PUSH2 0xA47 JUMP JUMPDEST SWAP1 POP PUSH2 0x412 CALLER DUP3 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x62B SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH32 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x4A3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x49A SWAP1 PUSH2 0xE64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4AD DUP3 DUP3 PUSH2 0x780 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 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 0x535 SWAP2 SWAP1 PUSH2 0xCDC JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x54D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x561 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 0x585 SWAP2 SWAP1 PUSH2 0xA47 JUMP JUMPDEST LT ISZERO PUSH2 0x5C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5BD SWAP1 PUSH2 0xE44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5D4 PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD PUSH2 0x78B JUMP JUMPDEST SWAP1 POP PUSH1 0x6 DUP2 PUSH1 0x0 SHR 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 SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x660 SWAP3 SWAP2 SWAP1 PUSH2 0xCF7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 SWAP1 PUSH2 0xCC5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x707 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x70C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x73A JUMPI POP PUSH1 0x0 DUP2 MLOAD EQ DUP1 PUSH2 0x739 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x738 SWAP2 SWAP1 PUSH2 0x9AD JUMP JUMPDEST JUMPDEST JUMPDEST PUSH2 0x779 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x770 SWAP1 PUSH2 0xE24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x4 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 0x7FF SWAP3 SWAP2 SWAP1 PUSH2 0xD9B 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 0x82C SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD20 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x846 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x85A 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 0x87E SWAP2 SWAP1 PUSH2 0x9AD JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x8A0 DUP5 PUSH1 0x0 ADDRESS PUSH1 0x0 DUP1 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x8EA 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 0x8C1 SWAP2 SWAP1 PUSH2 0xF59 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 0x8E1 DUP5 DUP3 PUSH2 0x926 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x903 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDC4 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 0x93B SWAP3 SWAP2 SWAP1 PUSH2 0xC99 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 PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x968 DUP2 PUSH2 0x1234 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x97D DUP2 PUSH2 0x124B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x992 DUP2 PUSH2 0x1262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x9A7 DUP2 PUSH2 0x1262 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C3 JUMPI PUSH2 0x9C2 PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9D1 DUP5 DUP3 DUP6 ADD PUSH2 0x959 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9F1 JUMPI PUSH2 0x9F0 PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x9FF DUP6 DUP3 DUP7 ADD PUSH2 0x96E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA10 DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA3E DUP5 DUP3 DUP6 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA5D JUMPI PUSH2 0xA5C PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA6B DUP5 DUP3 DUP6 ADD PUSH2 0x998 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA8B JUMPI PUSH2 0xA8A PUSH2 0x1154 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xA99 DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xAAA DUP6 DUP3 DUP7 ADD PUSH2 0x983 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAC0 DUP4 DUP4 PUSH2 0xC64 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xAD5 DUP2 PUSH2 0xFAF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xAE6 DUP3 PUSH2 0xEF8 JUMP JUMPDEST PUSH2 0xAF0 DUP2 DUP6 PUSH2 0xF1B JUMP JUMPDEST SWAP4 POP PUSH2 0xAFB DUP4 PUSH2 0xEE8 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB2C JUMPI DUP2 MLOAD PUSH2 0xB13 DUP9 DUP3 PUSH2 0xAB4 JUMP JUMPDEST SWAP8 POP PUSH2 0xB1E DUP4 PUSH2 0xF0E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xAFF JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xB42 DUP2 PUSH2 0xFCD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB59 PUSH2 0xB54 DUP3 PUSH2 0xFCD JUMP JUMPDEST PUSH2 0x10B3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB6A DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH2 0xB74 DUP2 DUP6 PUSH2 0xF2C JUMP JUMPDEST SWAP4 POP PUSH2 0xB84 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1037 JUMP JUMPDEST PUSH2 0xB8D DUP2 PUSH2 0x1159 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBA3 DUP3 PUSH2 0xF03 JUMP JUMPDEST PUSH2 0xBAD DUP2 DUP6 PUSH2 0xF3D JUMP JUMPDEST SWAP4 POP PUSH2 0xBBD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1037 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBD2 DUP2 PUSH2 0x1001 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE5 PUSH1 0x1C DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xBF0 DUP3 PUSH2 0x116A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC08 PUSH1 0x2B DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC13 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC2B PUSH1 0x1F DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC36 DUP3 PUSH2 0x11E2 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC4E PUSH1 0x11 DUP4 PUSH2 0xF48 JUMP JUMPDEST SWAP2 POP PUSH2 0xC59 DUP3 PUSH2 0x120B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC6D DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC7C DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC93 PUSH2 0xC8E DUP3 PUSH2 0xFF7 JUMP JUMPDEST PUSH2 0x10BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA5 DUP3 DUP6 PUSH2 0xB48 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH2 0xCB5 DUP3 DUP5 PUSH2 0xC82 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCD1 DUP3 DUP5 PUSH2 0xB98 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xCF1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xACC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xD0C PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xD19 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0xD35 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xD42 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0xC73 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xD54 DUP2 DUP5 PUSH2 0xB5F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD78 DUP2 DUP5 PUSH2 0xADB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xD95 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB39 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xDB0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0xDBD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0xDD9 PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0xB39 JUMP JUMPDEST PUSH2 0xDE6 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0xDF3 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xACC JUMP JUMPDEST PUSH2 0xE00 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xE1E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE3D DUP2 PUSH2 0xBD8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE5D DUP2 PUSH2 0xBFB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE7D DUP2 PUSH2 0xC1E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE9D DUP2 PUSH2 0xC41 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEB9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xED4 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xC73 JUMP JUMPDEST PUSH2 0xEE1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC73 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF64 DUP3 PUSH2 0xFF7 JUMP JUMPDEST SWAP2 POP PUSH2 0xF6F DUP4 PUSH2 0xFF7 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xFA4 JUMPI PUSH2 0xFA3 PUSH2 0x10C7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFBA DUP3 PUSH2 0xFD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100C DUP3 PUSH2 0x1013 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x101E DUP3 PUSH2 0x1025 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1030 DUP3 PUSH2 0xFD7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1055 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x103A JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1064 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1075 DUP3 PUSH2 0xFF7 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x10A8 JUMPI PUSH2 0x10A7 PUSH2 0x10C7 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT 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 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x426F72696E6745524332303A205472616E73666572206661696C656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F7420656E6F756768204C494E4B202D2066696C6C20636F6E747261637420 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7769746820666175636574000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F6E6C7920565246436F6F7264696E61746F722063616E2066756C66696C6C00 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x63616C6C6572206E6F742066756E646572000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x123D DUP2 PUSH2 0xFC1 JUMP JUMPDEST DUP2 EQ PUSH2 0x1248 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1254 DUP2 PUSH2 0xFCD JUMP JUMPDEST DUP2 EQ PUSH2 0x125F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x126B DUP2 PUSH2 0xFF7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1276 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE5 0xFC INVALID PUSH16 0x89FE1F72B34F9119DD3F84A19BC87CD5 PUSH30 0x1CAC907272144D0096B6D364736F6C634300080700330000000000000000 ", | |
"sourceMap": "3886:2483:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:21;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4107:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5819:291;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6116:251;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9639:225:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4140:71:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5169:292;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4036:65;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4217:21;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4107:27::-;;;;:::o;5819:291::-;5888:31;5958:1;5944:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5927:33;;5971:9;5966:115;5990:1;5986;:5;5966:115;;;6057:11;6070:1;6046:26;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6036:37;;;;;;6028:46;;6008:14;6023:1;6008:17;;;;;;;;:::i;:::-;;;;;;;:66;;;;;5993:3;;;;;:::i;:::-;;;;5966:115;;;;5819:291;;;;:::o;6116:251::-;6166:14;5064:5;;;;;;;;;;;5050:19;;:10;:19;;;5042:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6285:4:::1;;;;;;;;;;;:14;;;6308:4;6285:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6276:38;;6324:36;6342:10;6353:6;6324:4;;;;;;;;;;;:17;;;;:36;;;;;:::i;:::-;6116:251:::0;:::o;9639:225:0:-;9763:14;9749:28;;:10;:28;;;9741:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9819:40;9837:9;9848:10;9819:17;:40::i;:::-;9639:225;;:::o;4140:71:7:-;;;;;;;;;;;;;:::o;5169:292::-;5212:17;5282:3;;5249:4;:14;;;5272:4;5249:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:36;;5241:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;5355:31;5373:7;;5382:3;;5355:17;:31::i;:::-;5343:43;;5396:7;5417:9;5409:18;;5396:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5169:292;:::o;4036:65::-;;;;;;;;;;;;;:::o;2859:333::-;2973:12;2987:17;3016:5;3008:19;;527:10;3051:12;;3065:2;3069:6;3028:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3008:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:105;;;;3095:7;:57;;;;;3122:1;3107:4;:11;:16;:44;;;;3138:4;3127:24;;;;;;;;;;;;:::i;:::-;3107:44;3095:57;3087:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;2962:230;;2859:333;;;:::o;5668:126::-;5777:10;5762:12;:25;;;;5668:126;;:::o;7752:1055:0:-;7856:17;7888:4;:20;;;7909:14;7925:4;7942:8;6609:1;7931:43;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7888:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8206:15;8225:82;8242:8;6609:1;8283:4;8290:6;:16;8297:8;8290:16;;;;;;;;;;;;8225;:82::i;:::-;8206:101;;8756:1;8737:6;:16;8744:8;8737:16;;;;;;;;;;;;:20;;;;:::i;:::-;8718:6;:16;8725:8;8718:16;;;;;;;;;;;:39;;;;8770:32;8784:8;8794:7;8770:13;:32::i;:::-;8763:39;;;7752:1055;;;;:::o;797:266:1:-;958:7;1016:8;1026:9;1037:10;1049:6;1005:51;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;995:62;;;;;;987:71;;980:78;;797:266;;;;;;:::o;1443:204::-;1561:7;1617:8;1627:13;1600:41;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1590:52;;;;;;1583:59;;1443:204;;;;:::o;7:137:8:-;61:5;92:6;86:13;77:22;;108:30;132:5;108:30;:::i;:::-;7:137;;;;:::o;150:139::-;196:5;234:6;221:20;212:29;;250:33;277:5;250:33;:::i;:::-;150:139;;;;:::o;295:::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;295:139;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;440:143;;;;:::o;589:345::-;656:6;705:2;693:9;684:7;680:23;676:32;673:119;;;711:79;;:::i;:::-;673:119;831:1;856:61;909:7;900:6;889:9;885:22;856:61;:::i;:::-;846:71;;802:125;589:345;;;;:::o;940:474::-;1008:6;1016;1065:2;1053:9;1044:7;1040:23;1036:32;1033:119;;;1071:79;;:::i;:::-;1033:119;1191:1;1216:53;1261:7;1252:6;1241:9;1237:22;1216:53;:::i;:::-;1206:63;;1162:117;1318:2;1344:53;1389:7;1380:6;1369:9;1365:22;1344:53;:::i;:::-;1334:63;;1289:118;940:474;;;;;:::o;1420:329::-;1479:6;1528:2;1516:9;1507:7;1503:23;1499:32;1496:119;;;1534:79;;:::i;:::-;1496:119;1654:1;1679:53;1724:7;1715:6;1704:9;1700:22;1679:53;:::i;:::-;1669:63;;1625:117;1420:329;;;;:::o;1755:351::-;1825:6;1874:2;1862:9;1853:7;1849:23;1845:32;1842:119;;;1880:79;;:::i;:::-;1842:119;2000:1;2025:64;2081:7;2072:6;2061:9;2057:22;2025:64;:::i;:::-;2015:74;;1971:128;1755:351;;;;:::o;2112:474::-;2180:6;2188;2237:2;2225:9;2216:7;2212:23;2208:32;2205:119;;;2243:79;;:::i;:::-;2205:119;2363:1;2388:53;2433:7;2424:6;2413:9;2409:22;2388:53;:::i;:::-;2378:63;;2334:117;2490:2;2516:53;2561:7;2552:6;2541:9;2537:22;2516:53;:::i;:::-;2506:63;;2461:118;2112:474;;;;;:::o;2592:179::-;2661:10;2682:46;2724:3;2716:6;2682:46;:::i;:::-;2760:4;2755:3;2751:14;2737:28;;2592:179;;;;:::o;2777:118::-;2864:24;2882:5;2864:24;:::i;:::-;2859:3;2852:37;2777:118;;:::o;2931:732::-;3050:3;3079:54;3127:5;3079:54;:::i;:::-;3149:86;3228:6;3223:3;3149:86;:::i;:::-;3142:93;;3259:56;3309:5;3259:56;:::i;:::-;3338:7;3369:1;3354:284;3379:6;3376:1;3373:13;3354:284;;;3455:6;3449:13;3482:63;3541:3;3526:13;3482:63;:::i;:::-;3475:70;;3568:60;3621:6;3568:60;:::i;:::-;3558:70;;3414:224;3401:1;3398;3394:9;3389:14;;3354:284;;;3358:14;3654:3;3647:10;;3055:608;;;2931:732;;;;:::o;3669:118::-;3756:24;3774:5;3756:24;:::i;:::-;3751:3;3744:37;3669:118;;:::o;3793:157::-;3898:45;3918:24;3936:5;3918:24;:::i;:::-;3898:45;:::i;:::-;3893:3;3886:58;3793:157;;:::o;3956:360::-;4042:3;4070:38;4102:5;4070:38;:::i;:::-;4124:70;4187:6;4182:3;4124:70;:::i;:::-;4117:77;;4203:52;4248:6;4243:3;4236:4;4229:5;4225:16;4203:52;:::i;:::-;4280:29;4302:6;4280:29;:::i;:::-;4275:3;4271:39;4264:46;;4046:270;3956:360;;;;:::o;4322:373::-;4426:3;4454:38;4486:5;4454:38;:::i;:::-;4508:88;4589:6;4584:3;4508:88;:::i;:::-;4501:95;;4605:52;4650:6;4645:3;4638:4;4631:5;4627:16;4605:52;:::i;:::-;4682:6;4677:3;4673:16;4666:23;;4430:265;4322:373;;;;:::o;4701:159::-;4802:51;4847:5;4802:51;:::i;:::-;4797:3;4790:64;4701:159;;:::o;4866:366::-;5008:3;5029:67;5093:2;5088:3;5029:67;:::i;:::-;5022:74;;5105:93;5194:3;5105:93;:::i;:::-;5223:2;5218:3;5214:12;5207:19;;4866:366;;;:::o;5238:::-;5380:3;5401:67;5465:2;5460:3;5401:67;:::i;:::-;5394:74;;5477:93;5566:3;5477:93;:::i;:::-;5595:2;5590:3;5586:12;5579:19;;5238:366;;;:::o;5610:::-;5752:3;5773:67;5837:2;5832:3;5773:67;:::i;:::-;5766:74;;5849:93;5938:3;5849:93;:::i;:::-;5967:2;5962:3;5958:12;5951:19;;5610:366;;;:::o;5982:::-;6124:3;6145:67;6209:2;6204:3;6145:67;:::i;:::-;6138:74;;6221:93;6310:3;6221:93;:::i;:::-;6339:2;6334:3;6330:12;6323:19;;5982:366;;;:::o;6354:108::-;6431:24;6449:5;6431:24;:::i;:::-;6426:3;6419:37;6354:108;;:::o;6468:118::-;6555:24;6573:5;6555:24;:::i;:::-;6550:3;6543:37;6468:118;;:::o;6592:157::-;6697:45;6717:24;6735:5;6717:24;:::i;:::-;6697:45;:::i;:::-;6692:3;6685:58;6592:157;;:::o;6755:397::-;6895:3;6910:75;6981:3;6972:6;6910:75;:::i;:::-;7010:2;7005:3;7001:12;6994:19;;7023:75;7094:3;7085:6;7023:75;:::i;:::-;7123:2;7118:3;7114:12;7107:19;;7143:3;7136:10;;6755:397;;;;;:::o;7158:271::-;7288:3;7310:93;7399:3;7390:6;7310:93;:::i;:::-;7303:100;;7420:3;7413:10;;7158:271;;;;:::o;7435:222::-;7528:4;7566:2;7555:9;7551:18;7543:26;;7579:71;7647:1;7636:9;7632:17;7623:6;7579:71;:::i;:::-;7435:222;;;;:::o;7663:332::-;7784:4;7822:2;7811:9;7807:18;7799:26;;7835:71;7903:1;7892:9;7888:17;7879:6;7835:71;:::i;:::-;7916:72;7984:2;7973:9;7969:18;7960:6;7916:72;:::i;:::-;7663:332;;;;;:::o;8001:529::-;8168:4;8206:2;8195:9;8191:18;8183:26;;8219:71;8287:1;8276:9;8272:17;8263:6;8219:71;:::i;:::-;8300:72;8368:2;8357:9;8353:18;8344:6;8300:72;:::i;:::-;8419:9;8413:4;8409:20;8404:2;8393:9;8389:18;8382:48;8447:76;8518:4;8509:6;8447:76;:::i;:::-;8439:84;;8001:529;;;;;;:::o;8536:373::-;8679:4;8717:2;8706:9;8702:18;8694:26;;8766:9;8760:4;8756:20;8752:1;8741:9;8737:17;8730:47;8794:108;8897:4;8888:6;8794:108;:::i;:::-;8786:116;;8536:373;;;;:::o;8915:222::-;9008:4;9046:2;9035:9;9031:18;9023:26;;9059:71;9127:1;9116:9;9112:17;9103:6;9059:71;:::i;:::-;8915:222;;;;:::o;9143:332::-;9264:4;9302:2;9291:9;9287:18;9279:26;;9315:71;9383:1;9372:9;9368:17;9359:6;9315:71;:::i;:::-;9396:72;9464:2;9453:9;9449:18;9440:6;9396:72;:::i;:::-;9143:332;;;;;:::o;9481:553::-;9658:4;9696:3;9685:9;9681:19;9673:27;;9710:71;9778:1;9767:9;9763:17;9754:6;9710:71;:::i;:::-;9791:72;9859:2;9848:9;9844:18;9835:6;9791:72;:::i;:::-;9873;9941:2;9930:9;9926:18;9917:6;9873:72;:::i;:::-;9955;10023:2;10012:9;10008:18;9999:6;9955:72;:::i;:::-;9481:553;;;;;;;:::o;10040:250::-;10147:4;10185:2;10174:9;10170:18;10162:26;;10198:85;10280:1;10269:9;10265:17;10256:6;10198:85;:::i;:::-;10040:250;;;;:::o;10296:419::-;10462:4;10500:2;10489:9;10485:18;10477:26;;10549:9;10543:4;10539:20;10535:1;10524:9;10520:17;10513:47;10577:131;10703:4;10577:131;:::i;:::-;10569:139;;10296:419;;;:::o;10721:::-;10887:4;10925:2;10914:9;10910:18;10902:26;;10974:9;10968:4;10964:20;10960:1;10949:9;10945:17;10938:47;11002:131;11128:4;11002:131;:::i;:::-;10994:139;;10721:419;;;:::o;11146:::-;11312:4;11350:2;11339:9;11335:18;11327:26;;11399:9;11393:4;11389:20;11385:1;11374:9;11370:17;11363:47;11427:131;11553:4;11427:131;:::i;:::-;11419:139;;11146:419;;;:::o;11571:::-;11737:4;11775:2;11764:9;11760:18;11752:26;;11824:9;11818:4;11814:20;11810:1;11799:9;11795:17;11788:47;11852:131;11978:4;11852:131;:::i;:::-;11844:139;;11571:419;;;:::o;11996:222::-;12089:4;12127:2;12116:9;12112:18;12104:26;;12140:71;12208:1;12197:9;12193:17;12184:6;12140:71;:::i;:::-;11996:222;;;;:::o;12224:332::-;12345:4;12383:2;12372:9;12368:18;12360:26;;12396:71;12464:1;12453:9;12449:17;12440:6;12396:71;:::i;:::-;12477:72;12545:2;12534:9;12530:18;12521:6;12477:72;:::i;:::-;12224:332;;;;;:::o;12643:132::-;12710:4;12733:3;12725:11;;12763:4;12758:3;12754:14;12746:22;;12643:132;;;:::o;12781:114::-;12848:6;12882:5;12876:12;12866:22;;12781:114;;;:::o;12901:98::-;12952:6;12986:5;12980:12;12970:22;;12901:98;;;:::o;13005:113::-;13075:4;13107;13102:3;13098:14;13090:22;;13005:113;;;:::o;13124:184::-;13223:11;13257:6;13252:3;13245:19;13297:4;13292:3;13288:14;13273:29;;13124:184;;;;:::o;13314:168::-;13397:11;13431:6;13426:3;13419:19;13471:4;13466:3;13462:14;13447:29;;13314:168;;;;:::o;13488:147::-;13589:11;13626:3;13611:18;;13488:147;;;;:::o;13641:169::-;13725:11;13759:6;13754:3;13747:19;13799:4;13794:3;13790:14;13775:29;;13641:169;;;;:::o;13816:305::-;13856:3;13875:20;13893:1;13875:20;:::i;:::-;13870:25;;13909:20;13927:1;13909:20;:::i;:::-;13904:25;;14063:1;13995:66;13991:74;13988:1;13985:81;13982:107;;;14069:18;;:::i;:::-;13982:107;14113:1;14110;14106:9;14099:16;;13816:305;;;;:::o;14127:96::-;14164:7;14193:24;14211:5;14193:24;:::i;:::-;14182:35;;14127:96;;;:::o;14229:90::-;14263:7;14306:5;14299:13;14292:21;14281:32;;14229:90;;;:::o;14325:77::-;14362:7;14391:5;14380:16;;14325:77;;;:::o;14408:126::-;14445:7;14485:42;14478:5;14474:54;14463:65;;14408:126;;;:::o;14540:77::-;14577:7;14606:5;14595:16;;14540:77;;;:::o;14623:140::-;14687:9;14720:37;14751:5;14720:37;:::i;:::-;14707:50;;14623:140;;;:::o;14769:126::-;14819:9;14852:37;14883:5;14852:37;:::i;:::-;14839:50;;14769:126;;;:::o;14901:113::-;14951:9;14984:24;15002:5;14984:24;:::i;:::-;14971:37;;14901:113;;;:::o;15020:307::-;15088:1;15098:113;15112:6;15109:1;15106:13;15098:113;;;15197:1;15192:3;15188:11;15182:18;15178:1;15173:3;15169:11;15162:39;15134:2;15131:1;15127:10;15122:15;;15098:113;;;15229:6;15226:1;15223:13;15220:101;;;15309:1;15300:6;15295:3;15291:16;15284:27;15220:101;15069:258;15020:307;;;:::o;15333:233::-;15372:3;15395:24;15413:5;15395:24;:::i;:::-;15386:33;;15441:66;15434:5;15431:77;15428:103;;;15511:18;;:::i;:::-;15428:103;15558:1;15551:5;15547:13;15540:20;;15333:233;;;:::o;15572:79::-;15611:7;15640:5;15629:16;;15572:79;;;:::o;15657:::-;15696:7;15725:5;15714:16;;15657:79;;;:::o;15742:180::-;15790:77;15787:1;15780:88;15887:4;15884:1;15877:15;15911:4;15908:1;15901:15;15928:180;15976:77;15973:1;15966:88;16073:4;16070:1;16063:15;16097:4;16094:1;16087:15;16114:180;16162:77;16159:1;16152:88;16259:4;16256:1;16249:15;16283:4;16280:1;16273:15;16423:117;16532:1;16529;16522:12;16546:102;16587:6;16638:2;16634:7;16629:2;16622:5;16618:14;16614:28;16604:38;;16546:102;;;:::o;16654:178::-;16794:30;16790:1;16782:6;16778:14;16771:54;16654:178;:::o;16838:230::-;16978:34;16974:1;16966:6;16962:14;16955:58;17047:13;17042:2;17034:6;17030:15;17023:38;16838:230;:::o;17074:181::-;17214:33;17210:1;17202:6;17198:14;17191:57;17074:181;:::o;17261:167::-;17401:19;17397:1;17389:6;17385:14;17378:43;17261:167;:::o;17434:116::-;17504:21;17519:5;17504:21;:::i;:::-;17497:5;17494:32;17484:60;;17540:1;17537;17530:12;17484:60;17434:116;:::o;17556:122::-;17629:24;17647:5;17629:24;:::i;:::-;17622:5;17619:35;17609:63;;17668:1;17665;17658:12;17609:63;17556:122;:::o;17684:::-;17757:24;17775:5;17757:24;:::i;:::-;17750:5;17747:35;17737:63;;17796:1;17793;17786:12;17737:63;17684:122;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "956600", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"Link()": "2622", | |
"admin()": "2580", | |
"expand(uint256,uint256)": "infinite", | |
"getRandomNumber()": "infinite", | |
"randomResult()": "2452", | |
"rawFulfillRandomness(bytes32,uint256)": "infinite", | |
"results(uint256)": "infinite", | |
"withdrawLink()": "infinite" | |
}, | |
"internal": { | |
"fulfillModuloRandomness(bytes32,uint256)": "infinite", | |
"fulfillRandomness(bytes32,uint256)": "22127" | |
} | |
}, | |
"methodIdentifiers": { | |
"Link()": "bb0602cd", | |
"admin()": "f851a440", | |
"expand(uint256,uint256)": "874b3afc", | |
"getRandomNumber()": "dbdff2c1", | |
"randomResult()": "42619f66", | |
"rawFulfillRandomness(bytes32,uint256)": "94985ddd", | |
"results(uint256)": "1b0c27da", | |
"withdrawLink()": "8dc654a2" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Withdraw", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "Link", | |
"outputs": [ | |
{ | |
"internalType": "contract IERC20", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
} | |
], | |
"name": "expand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRandomNumber", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "requestId", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"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": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "results", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawLink", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": true, | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"name": "Withdraw", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "Link", | |
"outputs": [ | |
{ | |
"internalType": "contract IERC20", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "admin", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "randomValue", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "n", | |
"type": "uint256" | |
} | |
], | |
"name": "expand", | |
"outputs": [ | |
{ | |
"internalType": "uint256[]", | |
"name": "expandedValues", | |
"type": "uint256[]" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "getRandomNumber", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "requestId", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"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": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "results", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "withdrawLink", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"constructor": { | |
"notice": "Constructor inherits VRFConsumerBase Network: Matic Chainlink VRF Coordinator address: 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9 LINK token address: 0xa36085F69e2889c224210F603D836748e7dC0088 Key Hash: 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4" | |
}, | |
"getRandomNumber()": { | |
"notice": "Requests randomness " | |
} | |
}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/ImpossibleChainlink.sol": "RandomNumberConsumer" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/VRFConsumerBase.sol": { | |
"keccak256": "0x991e49ee47043d6667887d7ed6ab5a0f8e4e5550f92b09b0d75c1fb1a473cd8d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://a688c48fa681a7958d5cbb4e1845290ae317e2dfa1a059faae44c69d83409414", | |
"dweb:/ipfs/Qmb5Gpjya5VJ9LnwkEBfMr5DtDH462VBjXcA6uAU2f1Vj9" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/VRFRequestIDBase.sol": { | |
"keccak256": "0x7c8dad07e6c6c9269d97fd1191ccf9c0f0068683f1f88003e688eef9373de0d9", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://1d88c83a359c70f6b2e2e05d8f7611cce4a3d316a65e5175e14bcf9a6ced98af", | |
"dweb:/ipfs/QmeH3BEuVvaaQsz7sN5myEnFLoabTG4j85vS9Z6rfJkads" | |
] | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/LinkTokenInterface.sol": { | |
"keccak256": "0x50528c237386c55ff122d047f91b32be7abe24e9dfdc609de21cd605aae83b9a", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://92037bd13b34432f9377cb205c0039bd0724af66ea605598db31d4ccd33f879f", | |
"dweb:/ipfs/QmdH6Ef5PZgcPrJuWboLX5MhmezzTFniZCwJ6fk2tYVua4" | |
] | |
}, | |
"contracts/Context.sol": { | |
"keccak256": "0xf85ba24aca6a219be58ee82e453490f1358ac94d67f42e8c15ad93dd24b9d9dc", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://c1ff02d829b413a27234a2837b9adfd84693dcf508a2935967be9f4592160cc1", | |
"dweb:/ipfs/QmengRHPpNR9gtQDtbBPh8ugXYUnm23Z8V7txrxr6Whfrd" | |
] | |
}, | |
"contracts/ERC20.sol": { | |
"keccak256": "0x8ba7d16b0287ff1bc020e8e1e2c28ba2a59c698b40ff1026f7853ae891c71f43", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f1e3f1e154dfed1473cdcd7b012047ec3a64ebf504e0883974f092f096c765fd", | |
"dweb:/ipfs/QmSUu3LFgyNLgVgxXvJ3upBSAf8Qtqy2oxrRVuy57JVJ6E" | |
] | |
}, | |
"contracts/IERC20.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
}, | |
"contracts/IERC20Metadata.sol": { | |
"keccak256": "0x4065401847859fdea8270079da0d5d94d4d6bcb16b83753f25d77c03bc9fa66d", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ddc99a4763150db86205a0b0313dda9db3b4c1cc283933cb9228d63ea71a7495", | |
"dweb:/ipfs/QmaVKXyFDwYPZ1iRrjAEbbaFYWSfrYdz4jfaeFJ7EWzT6k" | |
] | |
}, | |
"contracts/ImpossibleChainlink.sol": { | |
"keccak256": "0xc7757ce2b3aa2616bfc9aaf3a6b98e552b63f38bbb63dca2a50d5219dc07f89b", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://b2d31e8ae306b050c079e026957f30ea4c7834e817e18ec1d0cd9161a4da3c77", | |
"dweb:/ipfs/QmZHq3Hi444CuCDnbDss19UJqrzdb5zQS3BQUH2ncQfA7G" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fe44272efc322598b67e8409f8fdfb5a3794fe58b40895a9f167d812c16422f64736f6c63430008070033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 0xE4 TIMESTAMP PUSH19 0xEFC322598B67E8409F8FDFB5A3794FE58B4089 GAS SWAP16 AND PUSH30 0x812C16422F64736F6C634300080700330000000000000000000000000000 ", | |
"sourceMap": "897:3586:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fe44272efc322598b67e8409f8fdfb5a3794fe58b40895a9f167d812c16422f64736f6c63430008070033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 0xE4 TIMESTAMP PUSH19 0xEFC322598B67E8409F8FDFB5A3794FE58B4089 GAS SWAP16 AND PUSH30 0x812C16422F64736F6C634300080700330000000000000000000000000000 ", | |
"sourceMap": "897:3586:1:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"clearApprove(contract IERC20,address)": "infinite", | |
"safeApprove(contract IERC20,address,uint256)": "infinite", | |
"safeTransfer(contract IERC20,address,uint256)": "infinite", | |
"safeTransferFrom(contract IERC20,address,address,uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"abi": [] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"compiler": { | |
"version": "0.8.7+commit.e28d00a7" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [], | |
"devdoc": { | |
"details": "Library to perform safe calls to standard method for ERC20 tokens. Why Transfers: transfer methods could have a return value (bool), throw or revert for insufficient funds or unathorized value. Why Approve: approve method could has a return value (bool) or does not accept 0 as a valid value (BNB token). The common strategy used to clean approvals. We use the Solidity call instead of interface methods because in the case of transfer, it will fail for tokens with an implementation without returning a value. Since versions of Solidity 0.4.22 the EVM has a new opcode, called RETURNDATASIZE. This opcode stores the size of the returned data of an external call. The code checks the size of the return value after an external call and reverts the transaction in case the return data is shorter than expected", | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/SafeERC20.sol": "SafeERC20" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/IERC20.sol": { | |
"keccak256": "0xb55c91551ef864f86edd296378fc3430f19798c0d1de468ff772a83a842df24c", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://f118e5d475795b9e612bb6c139db18493e65f47f181ddcef446f4fa43e7f80f5", | |
"dweb:/ipfs/QmSRWmUWxpjp8jMtDHqWysWbZqFNVKAyLHcmBtjJRvmoLF" | |
] | |
}, | |
"contracts/SafeERC20.sol": { | |
"keccak256": "0x4eaa9ebc06094293a9a833b19a7979982076985ffa2f74020dc7875a9ecf415e", | |
"urls": [ | |
"bzz-raw://192ccd5f8b4c24608731f31f5f13b28e6a2ca2d818496cb1e6397b572ef1afab", | |
"dweb:/ipfs/Qma5x5FENFucaSSipaNRH2jQYLZygYDr62P7cxFCY5uR9U" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
/* | |
* @dev Provides information about the current execution context, including the | |
* sender of the transaction and its data. While these are generally available | |
* via msg.sender and msg.data, they should not be accessed in such a direct | |
* manner, since when dealing with meta-transactions the account sending and | |
* paying for execution may not be the actual sender (as far as an application | |
* is concerned). | |
* | |
* This contract is only required for intermediate, library-like contracts. | |
*/ | |
abstract contract Context { | |
function _msgSender() internal view virtual returns (address) { | |
return msg.sender; | |
} | |
function _msgData() internal view virtual returns (bytes calldata) { | |
return msg.data; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./IERC20.sol"; | |
import "./IERC20Metadata.sol"; | |
import "./Context.sol"; | |
/** | |
* @dev Implementation of the {IERC20} interface. | |
* | |
* This implementation is agnostic to the way tokens are created. This means | |
* that a supply mechanism has to be added in a derived contract using {_mint}. | |
* For a generic mechanism see {ERC20PresetMinterPauser}. | |
* | |
* TIP: For a detailed writeup see our guide | |
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How | |
* to implement supply mechanisms]. | |
* | |
* We have followed general OpenZeppelin guidelines: functions revert instead | |
* of returning `false` on failure. This behavior is nonetheless conventional | |
* and does not conflict with the expectations of ERC20 applications. | |
* | |
* Additionally, an {Approval} event is emitted on calls to {transferFrom}. | |
* This allows applications to reconstruct the allowance for all accounts just | |
* by listening to said events. Other implementations of the EIP may not emit | |
* these events, as it isn't required by the specification. | |
* | |
* Finally, the non-standard {decreaseAllowance} and {increaseAllowance} | |
* functions have been added to mitigate the well-known issues around setting | |
* allowances. See {IERC20-approve}. | |
*/ | |
contract ERC20 is Context, IERC20, IERC20Metadata { | |
mapping(address => uint256) private _balances; | |
mapping(address => mapping(address => uint256)) private _allowances; | |
uint256 private _totalSupply; | |
string private _name; | |
string private _symbol; | |
/** | |
* @dev Sets the values for {name} and {symbol}. | |
* | |
* The default value of {decimals} is 18. To select a different value for | |
* {decimals} you should overload it. | |
* | |
* All two of these values are immutable: they can only be set once during | |
* construction. | |
*/ | |
constructor(string memory name_, string memory symbol_) { | |
_name = name_; | |
_symbol = symbol_; | |
} | |
/** | |
* @dev Returns the name of the token. | |
*/ | |
function name() public view virtual override returns (string memory) { | |
return _name; | |
} | |
/** | |
* @dev Returns the symbol of the token, usually a shorter version of the | |
* name. | |
*/ | |
function symbol() public view virtual override returns (string memory) { | |
return _symbol; | |
} | |
/** | |
* @dev Returns the number of decimals used to get its user representation. | |
* For example, if `decimals` equals `2`, a balance of `505` tokens should | |
* be displayed to a user as `5,05` (`505 / 10 ** 2`). | |
* | |
* Tokens usually opt for a value of 18, imitating the relationship between | |
* Ether and Wei. This is the value {ERC20} uses, unless this function is | |
* overridden; | |
* | |
* NOTE: This information is only used for _display_ purposes: it in | |
* no way affects any of the arithmetic of the contract, including | |
* {IERC20-balanceOf} and {IERC20-transfer}. | |
*/ | |
function decimals() public view virtual override returns (uint8) { | |
return 18; | |
} | |
/** | |
* @dev See {IERC20-totalSupply}. | |
*/ | |
function totalSupply() public view virtual override returns (uint256) { | |
return _totalSupply; | |
} | |
/** | |
* @dev See {IERC20-balanceOf}. | |
*/ | |
function balanceOf(address account) public view virtual override returns (uint256) { | |
return _balances[account]; | |
} | |
/** | |
* @dev See {IERC20-transfer}. | |
* | |
* Requirements: | |
* | |
* - `recipient` cannot be the zero address. | |
* - the caller must have a balance of at least `amount`. | |
*/ | |
function transfer(address recipient, uint256 amount) public virtual override returns (bool) { | |
_transfer(_msgSender(), recipient, amount); | |
return true; | |
} | |
/** | |
* @dev See {IERC20-allowance}. | |
*/ | |
function allowance(address owner, address spender) public view virtual override returns (uint256) { | |
return _allowances[owner][spender]; | |
} | |
/** | |
* @dev See {IERC20-approve}. | |
* | |
* Requirements: | |
* | |
* - `spender` cannot be the zero address. | |
*/ | |
function approve(address spender, uint256 amount) public virtual override returns (bool) { | |
_approve(_msgSender(), spender, amount); | |
return true; | |
} | |
/** | |
* @dev See {IERC20-transferFrom}. | |
* | |
* Emits an {Approval} event indicating the updated allowance. This is not | |
* required by the EIP. See the note at the beginning of {ERC20}. | |
* | |
* Requirements: | |
* | |
* - `sender` and `recipient` cannot be the zero address. | |
* - `sender` must have a balance of at least `amount`. | |
* - the caller must have allowance for ``sender``'s tokens of at least | |
* `amount`. | |
*/ | |
function transferFrom( | |
address sender, | |
address recipient, | |
uint256 amount | |
) public virtual override returns (bool) { | |
_transfer(sender, recipient, amount); | |
uint256 currentAllowance = _allowances[sender][_msgSender()]; | |
require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); | |
unchecked { | |
_approve(sender, _msgSender(), currentAllowance - amount); | |
} | |
return true; | |
} | |
/** | |
* @dev Atomically increases the allowance granted to `spender` by the caller. | |
* | |
* This is an alternative to {approve} that can be used as a mitigation for | |
* problems described in {IERC20-approve}. | |
* | |
* Emits an {Approval} event indicating the updated allowance. | |
* | |
* Requirements: | |
* | |
* - `spender` cannot be the zero address. | |
*/ | |
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { | |
_approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); | |
return true; | |
} | |
/** | |
* @dev Atomically decreases the allowance granted to `spender` by the caller. | |
* | |
* This is an alternative to {approve} that can be used as a mitigation for | |
* problems described in {IERC20-approve}. | |
* | |
* Emits an {Approval} event indicating the updated allowance. | |
* | |
* Requirements: | |
* | |
* - `spender` cannot be the zero address. | |
* - `spender` must have allowance for the caller of at least | |
* `subtractedValue`. | |
*/ | |
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { | |
uint256 currentAllowance = _allowances[_msgSender()][spender]; | |
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); | |
unchecked { | |
_approve(_msgSender(), spender, currentAllowance - subtractedValue); | |
} | |
return true; | |
} | |
/** | |
* @dev Moves `amount` of tokens from `sender` to `recipient`. | |
* | |
* This internal function is equivalent to {transfer}, and can be used to | |
* e.g. implement automatic token fees, slashing mechanisms, etc. | |
* | |
* Emits a {Transfer} event. | |
* | |
* Requirements: | |
* | |
* - `sender` cannot be the zero address. | |
* - `recipient` cannot be the zero address. | |
* - `sender` must have a balance of at least `amount`. | |
*/ | |
function _transfer( | |
address sender, | |
address recipient, | |
uint256 amount | |
) internal virtual { | |
require(sender != address(0), "ERC20: transfer from the zero address"); | |
require(recipient != address(0), "ERC20: transfer to the zero address"); | |
_beforeTokenTransfer(sender, recipient, amount); | |
uint256 senderBalance = _balances[sender]; | |
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); | |
unchecked { | |
_balances[sender] = senderBalance - amount; | |
} | |
_balances[recipient] += amount; | |
emit Transfer(sender, recipient, amount); | |
_afterTokenTransfer(sender, recipient, amount); | |
} | |
/** @dev Creates `amount` tokens and assigns them to `account`, increasing | |
* the total supply. | |
* | |
* Emits a {Transfer} event with `from` set to the zero address. | |
* | |
* Requirements: | |
* | |
* - `account` cannot be the zero address. | |
*/ | |
function _mint(address account, uint256 amount) internal virtual { | |
require(account != address(0), "ERC20: mint to the zero address"); | |
_beforeTokenTransfer(address(0), account, amount); | |
_totalSupply += amount; | |
_balances[account] += amount; | |
emit Transfer(address(0), account, amount); | |
_afterTokenTransfer(address(0), account, amount); | |
} | |
/** | |
* @dev Destroys `amount` tokens from `account`, reducing the | |
* total supply. | |
* | |
* Emits a {Transfer} event with `to` set to the zero address. | |
* | |
* Requirements: | |
* | |
* - `account` cannot be the zero address. | |
* - `account` must have at least `amount` tokens. | |
*/ | |
function _burn(address account, uint256 amount) internal virtual { | |
require(account != address(0), "ERC20: burn from the zero address"); | |
_beforeTokenTransfer(account, address(0), amount); | |
uint256 accountBalance = _balances[account]; | |
require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); | |
unchecked { | |
_balances[account] = accountBalance - amount; | |
} | |
_totalSupply -= amount; | |
emit Transfer(account, address(0), amount); | |
_afterTokenTransfer(account, address(0), amount); | |
} | |
/** | |
* @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. | |
* | |
* This internal function is equivalent to `approve`, and can be used to | |
* e.g. set automatic allowances for certain subsystems, etc. | |
* | |
* Emits an {Approval} event. | |
* | |
* Requirements: | |
* | |
* - `owner` cannot be the zero address. | |
* - `spender` cannot be the zero address. | |
*/ | |
function _approve( | |
address owner, | |
address spender, | |
uint256 amount | |
) internal virtual { | |
require(owner != address(0), "ERC20: approve from the zero address"); | |
require(spender != address(0), "ERC20: approve to the zero address"); | |
_allowances[owner][spender] = amount; | |
emit Approval(owner, spender, amount); | |
} | |
/** | |
* @dev Hook that is called before any transfer of tokens. This includes | |
* minting and burning. | |
* | |
* Calling conditions: | |
* | |
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens | |
* will be transferred to `to`. | |
* - when `from` is zero, `amount` tokens will be minted for `to`. | |
* - when `to` is zero, `amount` of ``from``'s tokens will be burned. | |
* - `from` and `to` are never both zero. | |
* | |
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. | |
*/ | |
function _beforeTokenTransfer( | |
address from, | |
address to, | |
uint256 amount | |
) internal virtual {} | |
/** | |
* @dev Hook that is called after any transfer of tokens. This includes | |
* minting and burning. | |
* | |
* Calling conditions: | |
* | |
* - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens | |
* has been transferred to `to`. | |
* - when `from` is zero, `amount` tokens have been minted for `to`. | |
* - when `to` is zero, `amount` of ``from``'s tokens have been burned. | |
* - `from` and `to` are never both zero. | |
* | |
* To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. | |
*/ | |
function _afterTokenTransfer( | |
address from, | |
address to, | |
uint256 amount | |
) internal virtual {} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
/** | |
* @dev Interface of the ERC20 standard as defined in the EIP. | |
*/ | |
interface IERC20 { | |
/** | |
* @dev Returns the amount of tokens in existence. | |
*/ | |
function totalSupply() external view returns (uint256); | |
/** | |
* @dev Returns the amount of tokens owned by `account`. | |
*/ | |
function balanceOf(address account) external view returns (uint256); | |
/** | |
* @dev Moves `amount` tokens from the caller's account to `recipient`. | |
* | |
* Returns a boolean value indicating whether the operation succeeded. | |
* | |
* Emits a {Transfer} event. | |
*/ | |
function transfer(address recipient, uint256 amount) external returns (bool); | |
/** | |
* @dev Returns the remaining number of tokens that `spender` will be | |
* allowed to spend on behalf of `owner` through {transferFrom}. This is | |
* zero by default. | |
* | |
* This value changes when {approve} or {transferFrom} are called. | |
*/ | |
function allowance(address owner, address spender) external view returns (uint256); | |
/** | |
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens. | |
* | |
* Returns a boolean value indicating whether the operation succeeded. | |
* | |
* IMPORTANT: Beware that changing an allowance with this method brings the risk | |
* that someone may use both the old and the new allowance by unfortunate | |
* transaction ordering. One possible solution to mitigate this race | |
* condition is to first reduce the spender's allowance to 0 and set the | |
* desired value afterwards: | |
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 | |
* | |
* Emits an {Approval} event. | |
*/ | |
function approve(address spender, uint256 amount) external returns (bool); | |
/** | |
* @dev Moves `amount` tokens from `sender` to `recipient` using the | |
* allowance mechanism. `amount` is then deducted from the caller's | |
* allowance. | |
* | |
* Returns a boolean value indicating whether the operation succeeded. | |
* | |
* Emits a {Transfer} event. | |
*/ | |
function transferFrom( | |
address sender, | |
address recipient, | |
uint256 amount | |
) external returns (bool); | |
/** | |
* @dev Emitted when `value` tokens are moved from one account (`from`) to | |
* another (`to`). | |
* | |
* Note that `value` may be zero. | |
*/ | |
event Transfer(address indexed from, address indexed to, uint256 value); | |
/** | |
* @dev Emitted when the allowance of a `spender` for an `owner` is set by | |
* a call to {approve}. `value` is the new allowance. | |
*/ | |
event Approval(address indexed owner, address indexed spender, uint256 value); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./IERC20.sol"; | |
/** | |
* @dev Interface for the optional metadata functions from the ERC20 standard. | |
* | |
* _Available since v4.1._ | |
*/ | |
interface IERC20Metadata is IERC20 { | |
/** | |
* @dev Returns the name of the token. | |
*/ | |
function name() external view returns (string memory); | |
/** | |
* @dev Returns the symbol of the token. | |
*/ | |
function symbol() external view returns (string memory); | |
/** | |
* @dev Returns the decimals places of the token. | |
*/ | |
function decimals() external view returns (uint8); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
// This is a V1 contract to perform random number generation to select fair participation | |
// for Impossible Finance's Launchpad Whitelists, powered by Chainlink | |
pragma solidity ^0.8.7; | |
import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol"; | |
import "./ERC20.sol"; | |
contract ImpossibleChainlink is VRFConsumerBase { | |
bytes32 internal keyHash; | |
uint256 internal fee; | |
uint256 public balance; | |
address public admin = 0x31050aF1f1B26b6CBFd0eA277b775c268B7ECB07; | |
uint256 public randomResult; | |
IERC20 public Link = IERC20(0xb0897686c545045aFc77CF20eC7A532E3120E0F1); | |
uint[] public results; | |
event Withdraw(uint256 indexed amount); | |
/** | |
* Constructor inherits VRFConsumerBase | |
* | |
* Network: Matic | |
* Chainlink VRF Coordinator address: 0xdD3782915140c8f3b190B5D67eAc6dc5760C46E9 | |
* LINK token address: 0xa36085F69e2889c224210F603D836748e7dC0088 | |
* Key Hash: 0x6c3699283bda56ad74f6b855546325b68d482e983852a7a82979cc4807b641f4 | |
*/ | |
constructor() | |
VRFConsumerBase( | |
0xa555fC018435bef5A13C6c6870a9d4C11DEC329C, //BSC Testnet VRF Coordinator | |
0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06 //BSC Testnet LINK TOken | |
// 0x3d2341ADb2D31f1c5530cDC622016af293177AE0, // Matic VRF Coordinator Matic | |
// 0xb0897686c545045aFc77CF20eC7A532E3120E0F1 // Matic LINK Token | |
) | |
{ | |
keyHash = 0xcaf3c3727e033261d383b315559476f48034c13b18f8cafed4d871abe5049186; // BSC | |
// keyHash = 0xf86195cf7690c55907b2b611ebb7343a6f649bff128701cc542f0569e2c549da; //Matic | |
fee = 0.1 * 10 ** 18; // 0.1 LINK (Varies by network) | |
} | |
modifier onlyAdmin() { | |
require(msg.sender == admin, 'caller not funder'); | |
_; | |
} | |
/** | |
* Requests randomness | |
*/ | |
function getRandomNumber() public returns (bytes32 randomNumber) { | |
require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK - fill contract with faucet"); | |
randomNumber = requestRandomness(keyHash, fee); | |
results.push(uint256(randomNumber)); | |
return randomNumber; | |
} | |
// function fulfillModuloRandomness(uint256 randomness) internal { | |
// } | |
/** | |
* Callback function used by VRF Coordinator | |
*/ | |
function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { | |
randomResult = (randomness % 50) + 1; | |
} | |
function expand(uint256 randomValue, uint256 n) public pure returns (uint256[] memory expandedValues) { | |
expandedValues = new uint256[](n); | |
for (uint256 i = 0; i < n; i++) { | |
expandedValues[i] = uint256(keccak256(abi.encode(randomValue, i))); | |
} | |
return expandedValues; | |
} | |
function moduloExpand(uint256 randomValue, uint256 n, uint256 modParam) public pure returns (uint256[] memory expandedValues) { | |
expandedValues = new uint256[](n); | |
for (uint256 i = 0; i < n; i++) { | |
expandedValues[i] = (uint256(keccak256(abi.encode(randomValue, i))) % modParam) + 1; | |
} | |
return expandedValues; | |
} | |
// TODO: Improve the deposit/withdraw steps | |
// function fundLink(uint256 amount) public { | |
// Link.transfer(address(this), amount); | |
// balance += amount; | |
// } | |
// function returnLinkToAdmin() public returns (uint256 amount) { | |
// // Withdraws all Link from the contract - only Admin can call this function | |
// amount = Link.balanceOf(address(this)); | |
// Link.transfer(admin,amount); | |
// balance = 0; | |
// } | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pragma solidity ^0.8.7; | |
import "./IERC20.sol"; | |
/** | |
* @dev Library to perform safe calls to standard method for ERC20 tokens. | |
* | |
* Why Transfers: transfer methods could have a return value (bool), throw or revert for insufficient funds or | |
* unathorized value. | |
* | |
* Why Approve: approve method could has a return value (bool) or does not accept 0 as a valid value (BNB token). | |
* The common strategy used to clean approvals. | |
* | |
* We use the Solidity call instead of interface methods because in the case of transfer, it will fail | |
* for tokens with an implementation without returning a value. | |
* Since versions of Solidity 0.4.22 the EVM has a new opcode, called RETURNDATASIZE. | |
* This opcode stores the size of the returned data of an external call. The code checks the size of the return value | |
* after an external call and reverts the transaction in case the return data is shorter than expected | |
*/ | |
library SafeERC20 { | |
/** | |
* @dev Transfer token for a specified address | |
* @param _token erc20 The address of the ERC20 contract | |
* @param _to address The address which you want to transfer to | |
* @param _value uint256 the _value of tokens to be transferred | |
* @return bool whether the transfer was successful or not | |
*/ | |
function safeTransfer(IERC20 _token, address _to, uint256 _value) internal returns (bool) { | |
uint256 prevBalance = _token.balanceOf(address(this)); | |
if (prevBalance < _value) { | |
// Insufficient funds | |
return false; | |
} | |
address(_token).call( | |
abi.encodeWithSignature("transfer(address,uint256)", _to, _value) | |
); | |
// Fail if the new balance its not equal than previous balance sub _value | |
return prevBalance - _value == _token.balanceOf(address(this)); | |
} | |
/** | |
* @dev Transfer tokens from one address to another | |
* @param _token erc20 The address of the ERC20 contract | |
* @param _from address The address which you want to send tokens from | |
* @param _to address The address which you want to transfer to | |
* @param _value uint256 the _value of tokens to be transferred | |
* @return bool whether the transfer was successful or not | |
*/ | |
function safeTransferFrom( | |
IERC20 _token, | |
address _from, | |
address _to, | |
uint256 _value | |
) internal returns (bool) | |
{ | |
uint256 prevBalance = _token.balanceOf(_from); | |
if ( | |
prevBalance < _value || // Insufficient funds | |
_token.allowance(_from, address(this)) < _value // Insufficient allowance | |
) { | |
return false; | |
} | |
address(_token).call( | |
abi.encodeWithSignature("transferFrom(address,address,uint256)", _from, _to, _value) | |
); | |
// Fail if the new balance its not equal than previous balance sub _value | |
return prevBalance - _value == _token.balanceOf(_from); | |
} | |
/** | |
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. | |
* | |
* Beware that changing an allowance with this method brings the risk that someone may use both the old | |
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this | |
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: | |
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 | |
* | |
* @param _token erc20 The address of the ERC20 contract | |
* @param _spender The address which will spend the funds. | |
* @param _value The amount of tokens to be spent. | |
* @return bool whether the approve was successful or not | |
*/ | |
function safeApprove(IERC20 _token, address _spender, uint256 _value) internal returns (bool) { | |
address(_token).call( | |
abi.encodeWithSignature("approve(address,uint256)",_spender, _value) | |
); | |
// Fail if the new allowance its not equal than _value | |
return _token.allowance(address(this), _spender) == _value; | |
} | |
/** | |
* @dev Clear approval | |
* Note that if 0 is not a valid value it will be set to 1. | |
* @param _token erc20 The address of the ERC20 contract | |
* @param _spender The address which will spend the funds. | |
*/ | |
function clearApprove(IERC20 _token, address _spender) internal returns (bool) { | |
bool success = safeApprove(_token, _spender, 0); | |
if (!success) { | |
success = safeApprove(_token, _spender, 1); | |
} | |
return success; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 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 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; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment