Created
January 20, 2023 09:41
-
-
Save fongfiafia/c1e051cae1debd0495f92ff46ad3f7aa 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.17+commit.8df45f5f.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "overrides": [ | |
| { | |
| "files": "*.sol", | |
| "options": { | |
| "printWidth": 80, | |
| "tabWidth": 4, | |
| "useTabs": false, | |
| "singleQuote": false, | |
| "bracketSpacing": false | |
| } | |
| }, | |
| { | |
| "files": "*.yml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.yaml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.toml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.json", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.js", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.ts", | |
| "options": {} | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| REMIX DEFAULT WORKSPACE | |
| Remix default workspace is present when: | |
| i. Remix loads for the very first time | |
| ii. A new workspace is created with 'Default' template | |
| iii. There are no files existing in the File Explorer | |
| This workspace contains 3 directories: | |
| 1. 'contracts': Holds three contracts with increasing levels of complexity. | |
| 2. 'scripts': Contains four typescript files to deploy a contract. It is explained below. | |
| 3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract. | |
| SCRIPTS | |
| The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries. | |
| For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly | |
| in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts` | |
| In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract. | |
| To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
| Output from script will appear in remix terminal. | |
| Please note, require/import is supported in a limited manner for Remix supported modules. | |
| For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin. | |
| For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Storage | |
| * @dev Store & retrieve value in a variable | |
| * @custom:dev-run-script ./scripts/deploy_with_ethers.ts | |
| */ | |
| contract Storage { | |
| uint256 number; | |
| /** | |
| * @dev Store value in variable | |
| * @param num value to store | |
| */ | |
| function store(uint256 num) public { | |
| number = num; | |
| } | |
| /** | |
| * @dev Return value | |
| * @return value of 'number' | |
| */ | |
| function retrieve() public view returns (uint256){ | |
| return number; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| import "hardhat/console.sol"; | |
| /** | |
| * @title Owner | |
| * @dev Set & change owner | |
| */ | |
| contract Owner { | |
| address private owner; | |
| // event for EVM logging | |
| event OwnerSet(address indexed oldOwner, address indexed newOwner); | |
| // modifier to check if caller is owner | |
| modifier isOwner() { | |
| // If the first argument of 'require' evaluates to 'false', execution terminates and all | |
| // changes to the state and to Ether balances are reverted. | |
| // This used to consume all gas in old EVM versions, but not anymore. | |
| // It is often a good idea to use 'require' to check if functions are called correctly. | |
| // As a second argument, you can also provide an explanation about what went wrong. | |
| require(msg.sender == owner, "Caller is not owner"); | |
| _; | |
| } | |
| /** | |
| * @dev Set contract deployer as owner | |
| */ | |
| constructor() { | |
| console.log("Owner contract deployed by:", msg.sender); | |
| owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor | |
| emit OwnerSet(address(0), owner); | |
| } | |
| /** | |
| * @dev Change owner | |
| * @param newOwner address of new owner | |
| */ | |
| function changeOwner(address newOwner) public isOwner { | |
| emit OwnerSet(owner, newOwner); | |
| owner = newOwner; | |
| } | |
| /** | |
| * @dev Return owner address | |
| * @return address of owner | |
| */ | |
| function getOwner() external view returns (address) { | |
| return owner; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Ballot | |
| * @dev Implements voting process along with vote delegation | |
| */ | |
| contract Ballot { | |
| struct Voter { | |
| uint weight; // weight is accumulated by delegation | |
| bool voted; // if true, that person already voted | |
| address delegate; // person delegated to | |
| uint vote; // index of the voted proposal | |
| } | |
| struct Proposal { | |
| // If you can limit the length to a certain number of bytes, | |
| // always use one of bytes1 to bytes32 because they are much cheaper | |
| bytes32 name; // short name (up to 32 bytes) | |
| uint voteCount; // number of accumulated votes | |
| } | |
| address public chairperson; | |
| mapping(address => Voter) public voters; | |
| Proposal[] public proposals; | |
| /** | |
| * @dev Create a new ballot to choose one of 'proposalNames'. | |
| * @param proposalNames names of proposals | |
| */ | |
| constructor(bytes32[] memory proposalNames) { | |
| chairperson = msg.sender; | |
| voters[chairperson].weight = 1; | |
| for (uint i = 0; i < proposalNames.length; i++) { | |
| // 'Proposal({...})' creates a temporary | |
| // Proposal object and 'proposals.push(...)' | |
| // appends it to the end of 'proposals'. | |
| proposals.push(Proposal({ | |
| name: proposalNames[i], | |
| voteCount: 0 | |
| })); | |
| } | |
| } | |
| /** | |
| * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'. | |
| * @param voter address of voter | |
| */ | |
| function giveRightToVote(address voter) public { | |
| require( | |
| msg.sender == chairperson, | |
| "Only chairperson can give right to vote." | |
| ); | |
| require( | |
| !voters[voter].voted, | |
| "The voter already voted." | |
| ); | |
| require(voters[voter].weight == 0); | |
| voters[voter].weight = 1; | |
| } | |
| /** | |
| * @dev Delegate your vote to the voter 'to'. | |
| * @param to address to which vote is delegated | |
| */ | |
| function delegate(address to) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(!sender.voted, "You already voted."); | |
| require(to != msg.sender, "Self-delegation is disallowed."); | |
| while (voters[to].delegate != address(0)) { | |
| to = voters[to].delegate; | |
| // We found a loop in the delegation, not allowed. | |
| require(to != msg.sender, "Found loop in delegation."); | |
| } | |
| sender.voted = true; | |
| sender.delegate = to; | |
| Voter storage delegate_ = voters[to]; | |
| if (delegate_.voted) { | |
| // If the delegate already voted, | |
| // directly add to the number of votes | |
| proposals[delegate_.vote].voteCount += sender.weight; | |
| } else { | |
| // If the delegate did not vote yet, | |
| // add to her weight. | |
| delegate_.weight += sender.weight; | |
| } | |
| } | |
| /** | |
| * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'. | |
| * @param proposal index of proposal in the proposals array | |
| */ | |
| function vote(uint proposal) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(sender.weight != 0, "Has no right to vote"); | |
| require(!sender.voted, "Already voted."); | |
| sender.voted = true; | |
| sender.vote = proposal; | |
| // If 'proposal' is out of the range of the array, | |
| // this will throw automatically and revert all | |
| // changes. | |
| proposals[proposal].voteCount += sender.weight; | |
| } | |
| /** | |
| * @dev Computes the winning proposal taking all previous votes into account. | |
| * @return winningProposal_ index of winning proposal in the proposals array | |
| */ | |
| function winningProposal() public view | |
| returns (uint winningProposal_) | |
| { | |
| uint winningVoteCount = 0; | |
| for (uint p = 0; p < proposals.length; p++) { | |
| if (proposals[p].voteCount > winningVoteCount) { | |
| winningVoteCount = proposals[p].voteCount; | |
| winningProposal_ = p; | |
| } | |
| } | |
| } | |
| /** | |
| * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then | |
| * @return winnerName_ the name of the winner | |
| */ | |
| function winnerName() public view | |
| returns (bytes32 winnerName_) | |
| { | |
| winnerName_ = proposals[winningProposal()].name; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "3e3da57a94faca0f8bc51d36961ddf21", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.17", | |
| "solcLongVersion": "0.8.17+commit.8df45f5f", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/helloWorld.sol": { | |
| "content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity 0.8.17;\n\ncontract HelloWord {\n string public word = \"HelloWord\";\n uint public i = 22;\n int public ii = -123;\n int public minIn = type(int).min;\n int public maxIn = type(int).max;\n\n // address public addr = \n // bytes32 public b32 = \n\n function add(uint x, uint y) external pure returns(uint) {\n return x + y;\n }\n}" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "contracts": { | |
| "contracts/helloWorld.sol": { | |
| "HelloWord": { | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "x", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "y", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "add", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "i", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "ii", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "maxIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "minIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "word", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"contracts/helloWorld.sol\":62:400 contract HelloWord {... */\n mstore(0x40, 0x80)\n /* \"contracts/helloWorld.sol\":87:119 string public word = \"HelloWord\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x09\n dup2\n mstore\n 0x20\n add\n 0x48656c6c6f576f72640000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x00\n swap1\n dup2\n tag_1\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"contracts/helloWorld.sol\":141:143 22 */\n 0x16\n /* \"contracts/helloWorld.sol\":125:143 uint public i = 22 */\n 0x01\n sstore\n /* \"contracts/helloWorld.sol\":165:169 -123 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85\n /* \"contracts/helloWorld.sol\":149:169 int public ii = -123 */\n 0x02\n sstore\n /* \"contracts/helloWorld.sol\":194:207 type(int).min */\n 0x8000000000000000000000000000000000000000000000000000000000000000\n /* \"contracts/helloWorld.sol\":175:207 int public minIn = type(int).min */\n 0x03\n sstore\n /* \"contracts/helloWorld.sol\":232:245 type(int).max */\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"contracts/helloWorld.sol\":213:245 int public maxIn = type(int).max */\n 0x04\n sstore\n /* \"contracts/helloWorld.sol\":62:400 contract HelloWord {... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\n /* \"#utility.yul\":7:106 */\ntag_5:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:292 */\ntag_6:\n /* \"#utility.yul\":160:237 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":157:158 */\n 0x00\n /* \"#utility.yul\":150:238 */\n mstore\n /* \"#utility.yul\":257:261 */\n 0x41\n /* \"#utility.yul\":254:255 */\n 0x04\n /* \"#utility.yul\":247:262 */\n mstore\n /* \"#utility.yul\":281:285 */\n 0x24\n /* \"#utility.yul\":278:279 */\n 0x00\n /* \"#utility.yul\":271:286 */\n revert\n /* \"#utility.yul\":298:478 */\ntag_7:\n /* \"#utility.yul\":346:423 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":343:344 */\n 0x00\n /* \"#utility.yul\":336:424 */\n mstore\n /* \"#utility.yul\":443:447 */\n 0x22\n /* \"#utility.yul\":440:441 */\n 0x04\n /* \"#utility.yul\":433:448 */\n mstore\n /* \"#utility.yul\":467:471 */\n 0x24\n /* \"#utility.yul\":464:465 */\n 0x00\n /* \"#utility.yul\":457:472 */\n revert\n /* \"#utility.yul\":484:804 */\ntag_8:\n /* \"#utility.yul\":528:534 */\n 0x00\n /* \"#utility.yul\":565:566 */\n 0x02\n /* \"#utility.yul\":559:563 */\n dup3\n /* \"#utility.yul\":555:567 */\n div\n /* \"#utility.yul\":545:567 */\n swap1\n pop\n /* \"#utility.yul\":612:613 */\n 0x01\n /* \"#utility.yul\":606:610 */\n dup3\n /* \"#utility.yul\":602:614 */\n and\n /* \"#utility.yul\":633:651 */\n dup1\n /* \"#utility.yul\":623:704 */\n tag_30\n jumpi\n /* \"#utility.yul\":689:693 */\n 0x7f\n /* \"#utility.yul\":681:687 */\n dup3\n /* \"#utility.yul\":677:694 */\n and\n /* \"#utility.yul\":667:694 */\n swap2\n pop\n /* \"#utility.yul\":623:704 */\ntag_30:\n /* \"#utility.yul\":751:753 */\n 0x20\n /* \"#utility.yul\":743:749 */\n dup3\n /* \"#utility.yul\":740:754 */\n lt\n /* \"#utility.yul\":720:738 */\n dup2\n /* \"#utility.yul\":717:755 */\n sub\n /* \"#utility.yul\":714:798 */\n tag_31\n jumpi\n /* \"#utility.yul\":770:788 */\n tag_32\n tag_7\n jump\t// in\ntag_32:\n /* \"#utility.yul\":714:798 */\ntag_31:\n /* \"#utility.yul\":535:804 */\n pop\n /* \"#utility.yul\":484:804 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":810:951 */\ntag_9:\n /* \"#utility.yul\":859:863 */\n 0x00\n /* \"#utility.yul\":882:885 */\n dup2\n /* \"#utility.yul\":874:885 */\n swap1\n pop\n /* \"#utility.yul\":905:908 */\n dup2\n /* \"#utility.yul\":902:903 */\n 0x00\n /* \"#utility.yul\":895:909 */\n mstore\n /* \"#utility.yul\":939:943 */\n 0x20\n /* \"#utility.yul\":936:937 */\n 0x00\n /* \"#utility.yul\":926:944 */\n keccak256\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":810:951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":957:1050 */\ntag_10:\n /* \"#utility.yul\":994:1000 */\n 0x00\n /* \"#utility.yul\":1041:1043 */\n 0x20\n /* \"#utility.yul\":1036:1038 */\n 0x1f\n /* \"#utility.yul\":1029:1034 */\n dup4\n /* \"#utility.yul\":1025:1039 */\n add\n /* \"#utility.yul\":1021:1044 */\n div\n /* \"#utility.yul\":1011:1044 */\n swap1\n pop\n /* \"#utility.yul\":957:1050 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1056:1163 */\ntag_11:\n /* \"#utility.yul\":1100:1108 */\n 0x00\n /* \"#utility.yul\":1150:1155 */\n dup3\n /* \"#utility.yul\":1144:1148 */\n dup3\n /* \"#utility.yul\":1140:1156 */\n shl\n /* \"#utility.yul\":1119:1156 */\n swap1\n pop\n /* \"#utility.yul\":1056:1163 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1169:1562 */\ntag_12:\n /* \"#utility.yul\":1238:1244 */\n 0x00\n /* \"#utility.yul\":1288:1289 */\n 0x08\n /* \"#utility.yul\":1276:1286 */\n dup4\n /* \"#utility.yul\":1272:1290 */\n mul\n /* \"#utility.yul\":1311:1408 */\n tag_37\n /* \"#utility.yul\":1341:1407 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1330:1339 */\n dup3\n /* \"#utility.yul\":1311:1408 */\n tag_11\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1429:1468 */\n tag_38\n /* \"#utility.yul\":1459:1467 */\n dup7\n /* \"#utility.yul\":1448:1457 */\n dup4\n /* \"#utility.yul\":1429:1468 */\n tag_11\n jump\t// in\ntag_38:\n /* \"#utility.yul\":1417:1468 */\n swap6\n pop\n /* \"#utility.yul\":1501:1505 */\n dup1\n /* \"#utility.yul\":1497:1506 */\n not\n /* \"#utility.yul\":1490:1495 */\n dup5\n /* \"#utility.yul\":1486:1507 */\n and\n /* \"#utility.yul\":1477:1507 */\n swap4\n pop\n /* \"#utility.yul\":1550:1554 */\n dup1\n /* \"#utility.yul\":1540:1548 */\n dup7\n /* \"#utility.yul\":1536:1555 */\n and\n /* \"#utility.yul\":1529:1534 */\n dup5\n /* \"#utility.yul\":1526:1556 */\n or\n /* \"#utility.yul\":1516:1556 */\n swap3\n pop\n /* \"#utility.yul\":1245:1562 */\n pop\n pop\n /* \"#utility.yul\":1169:1562 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1568:1645 */\ntag_13:\n /* \"#utility.yul\":1605:1612 */\n 0x00\n /* \"#utility.yul\":1634:1639 */\n dup2\n /* \"#utility.yul\":1623:1639 */\n swap1\n pop\n /* \"#utility.yul\":1568:1645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1651:1711 */\ntag_14:\n /* \"#utility.yul\":1679:1682 */\n 0x00\n /* \"#utility.yul\":1700:1705 */\n dup2\n /* \"#utility.yul\":1693:1705 */\n swap1\n pop\n /* \"#utility.yul\":1651:1711 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1717:1859 */\ntag_15:\n /* \"#utility.yul\":1767:1776 */\n 0x00\n /* \"#utility.yul\":1800:1853 */\n tag_42\n /* \"#utility.yul\":1818:1852 */\n tag_43\n /* \"#utility.yul\":1827:1851 */\n tag_44\n /* \"#utility.yul\":1845:1850 */\n dup5\n /* \"#utility.yul\":1827:1851 */\n tag_13\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1818:1852 */\n tag_14\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1800:1853 */\n tag_13\n jump\t// in\ntag_42:\n /* \"#utility.yul\":1787:1853 */\n swap1\n pop\n /* \"#utility.yul\":1717:1859 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1865:1940 */\ntag_16:\n /* \"#utility.yul\":1908:1911 */\n 0x00\n /* \"#utility.yul\":1929:1934 */\n dup2\n /* \"#utility.yul\":1922:1934 */\n swap1\n pop\n /* \"#utility.yul\":1865:1940 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1946:2215 */\ntag_17:\n /* \"#utility.yul\":2056:2095 */\n tag_47\n /* \"#utility.yul\":2087:2094 */\n dup4\n /* \"#utility.yul\":2056:2095 */\n tag_15\n jump\t// in\ntag_47:\n /* \"#utility.yul\":2117:2208 */\n tag_48\n /* \"#utility.yul\":2166:2207 */\n tag_49\n /* \"#utility.yul\":2190:2206 */\n dup3\n /* \"#utility.yul\":2166:2207 */\n tag_16\n jump\t// in\ntag_49:\n /* \"#utility.yul\":2158:2164 */\n dup5\n /* \"#utility.yul\":2151:2155 */\n dup5\n /* \"#utility.yul\":2145:2156 */\n sload\n /* \"#utility.yul\":2117:2208 */\n tag_12\n jump\t// in\ntag_48:\n /* \"#utility.yul\":2111:2115 */\n dup3\n /* \"#utility.yul\":2104:2209 */\n sstore\n /* \"#utility.yul\":2022:2215 */\n pop\n /* \"#utility.yul\":1946:2215 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2221:2294 */\ntag_18:\n /* \"#utility.yul\":2266:2269 */\n 0x00\n /* \"#utility.yul\":2221:2294 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2300:2489 */\ntag_19:\n /* \"#utility.yul\":2377:2409 */\n tag_52\n tag_18\n jump\t// in\ntag_52:\n /* \"#utility.yul\":2418:2483 */\n tag_53\n /* \"#utility.yul\":2476:2482 */\n dup2\n /* \"#utility.yul\":2468:2474 */\n dup5\n /* \"#utility.yul\":2462:2466 */\n dup5\n /* \"#utility.yul\":2418:2483 */\n tag_17\n jump\t// in\ntag_53:\n /* \"#utility.yul\":2353:2489 */\n pop\n /* \"#utility.yul\":2300:2489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2495:2681 */\ntag_20:\n /* \"#utility.yul\":2555:2675 */\ntag_55:\n /* \"#utility.yul\":2572:2575 */\n dup2\n /* \"#utility.yul\":2565:2570 */\n dup2\n /* \"#utility.yul\":2562:2576 */\n lt\n /* \"#utility.yul\":2555:2675 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":2626:2665 */\n tag_58\n /* \"#utility.yul\":2663:2664 */\n 0x00\n /* \"#utility.yul\":2656:2661 */\n dup3\n /* \"#utility.yul\":2626:2665 */\n tag_19\n jump\t// in\ntag_58:\n /* \"#utility.yul\":2599:2600 */\n 0x01\n /* \"#utility.yul\":2592:2597 */\n dup2\n /* \"#utility.yul\":2588:2601 */\n add\n /* \"#utility.yul\":2579:2601 */\n swap1\n pop\n /* \"#utility.yul\":2555:2675 */\n jump(tag_55)\ntag_57:\n /* \"#utility.yul\":2495:2681 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2687:3230 */\ntag_21:\n /* \"#utility.yul\":2788:2790 */\n 0x1f\n /* \"#utility.yul\":2783:2786 */\n dup3\n /* \"#utility.yul\":2780:2791 */\n gt\n /* \"#utility.yul\":2777:3223 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":2822:2860 */\n tag_61\n /* \"#utility.yul\":2854:2859 */\n dup2\n /* \"#utility.yul\":2822:2860 */\n tag_9\n jump\t// in\ntag_61:\n /* \"#utility.yul\":2906:2935 */\n tag_62\n /* \"#utility.yul\":2924:2934 */\n dup5\n /* \"#utility.yul\":2906:2935 */\n tag_10\n jump\t// in\ntag_62:\n /* \"#utility.yul\":2896:2904 */\n dup2\n /* \"#utility.yul\":2892:2936 */\n add\n /* \"#utility.yul\":3089:3091 */\n 0x20\n /* \"#utility.yul\":3077:3087 */\n dup6\n /* \"#utility.yul\":3074:3092 */\n lt\n /* \"#utility.yul\":3071:3120 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":3110:3118 */\n dup2\n /* \"#utility.yul\":3095:3118 */\n swap1\n pop\n /* \"#utility.yul\":3071:3120 */\ntag_63:\n /* \"#utility.yul\":3133:3213 */\n tag_64\n /* \"#utility.yul\":3189:3211 */\n tag_65\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3189:3211 */\n tag_10\n jump\t// in\ntag_65:\n /* \"#utility.yul\":3179:3187 */\n dup4\n /* \"#utility.yul\":3175:3212 */\n add\n /* \"#utility.yul\":3162:3173 */\n dup3\n /* \"#utility.yul\":3133:3213 */\n tag_20\n jump\t// in\ntag_64:\n /* \"#utility.yul\":2792:3223 */\n pop\n pop\n /* \"#utility.yul\":2777:3223 */\ntag_60:\n /* \"#utility.yul\":2687:3230 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3236:3353 */\ntag_22:\n /* \"#utility.yul\":3290:3298 */\n 0x00\n /* \"#utility.yul\":3340:3345 */\n dup3\n /* \"#utility.yul\":3334:3338 */\n dup3\n /* \"#utility.yul\":3330:3346 */\n shr\n /* \"#utility.yul\":3309:3346 */\n swap1\n pop\n /* \"#utility.yul\":3236:3353 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3359:3528 */\ntag_23:\n /* \"#utility.yul\":3403:3409 */\n 0x00\n /* \"#utility.yul\":3436:3487 */\n tag_68\n /* \"#utility.yul\":3484:3485 */\n 0x00\n /* \"#utility.yul\":3480:3486 */\n not\n /* \"#utility.yul\":3472:3477 */\n dup5\n /* \"#utility.yul\":3469:3470 */\n 0x08\n /* \"#utility.yul\":3465:3478 */\n mul\n /* \"#utility.yul\":3436:3487 */\n tag_22\n jump\t// in\ntag_68:\n /* \"#utility.yul\":3432:3488 */\n not\n /* \"#utility.yul\":3517:3521 */\n dup1\n /* \"#utility.yul\":3511:3515 */\n dup4\n /* \"#utility.yul\":3507:3522 */\n and\n /* \"#utility.yul\":3497:3522 */\n swap2\n pop\n /* \"#utility.yul\":3410:3528 */\n pop\n /* \"#utility.yul\":3359:3528 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3533:3828 */\ntag_24:\n /* \"#utility.yul\":3609:3613 */\n 0x00\n /* \"#utility.yul\":3755:3784 */\n tag_70\n /* \"#utility.yul\":3780:3783 */\n dup4\n /* \"#utility.yul\":3774:3778 */\n dup4\n /* \"#utility.yul\":3755:3784 */\n tag_23\n jump\t// in\ntag_70:\n /* \"#utility.yul\":3747:3784 */\n swap2\n pop\n /* \"#utility.yul\":3817:3820 */\n dup3\n /* \"#utility.yul\":3814:3815 */\n 0x02\n /* \"#utility.yul\":3810:3821 */\n mul\n /* \"#utility.yul\":3804:3808 */\n dup3\n /* \"#utility.yul\":3801:3822 */\n or\n /* \"#utility.yul\":3793:3822 */\n swap1\n pop\n /* \"#utility.yul\":3533:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3833:5228 */\ntag_2:\n /* \"#utility.yul\":3950:3987 */\n tag_72\n /* \"#utility.yul\":3983:3986 */\n dup3\n /* \"#utility.yul\":3950:3987 */\n tag_5\n jump\t// in\ntag_72:\n /* \"#utility.yul\":4052:4070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4044:4050 */\n dup2\n /* \"#utility.yul\":4041:4071 */\n gt\n /* \"#utility.yul\":4038:4094 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":4074:4092 */\n tag_74\n tag_6\n jump\t// in\ntag_74:\n /* \"#utility.yul\":4038:4094 */\ntag_73:\n /* \"#utility.yul\":4118:4156 */\n tag_75\n /* \"#utility.yul\":4150:4154 */\n dup3\n /* \"#utility.yul\":4144:4155 */\n sload\n /* \"#utility.yul\":4118:4156 */\n tag_8\n jump\t// in\ntag_75:\n /* \"#utility.yul\":4203:4270 */\n tag_76\n /* \"#utility.yul\":4263:4269 */\n dup3\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4249:4253 */\n dup6\n /* \"#utility.yul\":4203:4270 */\n tag_21\n jump\t// in\ntag_76:\n /* \"#utility.yul\":4297:4298 */\n 0x00\n /* \"#utility.yul\":4321:4325 */\n 0x20\n /* \"#utility.yul\":4308:4325 */\n swap1\n pop\n /* \"#utility.yul\":4353:4355 */\n 0x1f\n /* \"#utility.yul\":4345:4351 */\n dup4\n /* \"#utility.yul\":4342:4356 */\n gt\n /* \"#utility.yul\":4370:4371 */\n 0x01\n /* \"#utility.yul\":4365:4983 */\n dup2\n eq\n tag_78\n jumpi\n /* \"#utility.yul\":5027:5028 */\n 0x00\n /* \"#utility.yul\":5044:5050 */\n dup5\n /* \"#utility.yul\":5041:5118 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":5093:5102 */\n dup3\n /* \"#utility.yul\":5088:5091 */\n dup8\n /* \"#utility.yul\":5084:5103 */\n add\n /* \"#utility.yul\":5078:5104 */\n mload\n /* \"#utility.yul\":5069:5104 */\n swap1\n pop\n /* \"#utility.yul\":5041:5118 */\ntag_79:\n /* \"#utility.yul\":5144:5211 */\n tag_80\n /* \"#utility.yul\":5204:5210 */\n dup6\n /* \"#utility.yul\":5197:5202 */\n dup3\n /* \"#utility.yul\":5144:5211 */\n tag_24\n jump\t// in\ntag_80:\n /* \"#utility.yul\":5138:5142 */\n dup7\n /* \"#utility.yul\":5131:5212 */\n sstore\n /* \"#utility.yul\":5000:5222 */\n pop\n /* \"#utility.yul\":4335:5222 */\n jump(tag_77)\n /* \"#utility.yul\":4365:4983 */\ntag_78:\n /* \"#utility.yul\":4417:4421 */\n 0x1f\n /* \"#utility.yul\":4413:4422 */\n not\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4401:4423 */\n and\n /* \"#utility.yul\":4451:4488 */\n tag_81\n /* \"#utility.yul\":4483:4487 */\n dup7\n /* \"#utility.yul\":4451:4488 */\n tag_9\n jump\t// in\ntag_81:\n /* \"#utility.yul\":4510:4511 */\n 0x00\n /* \"#utility.yul\":4524:4732 */\ntag_82:\n /* \"#utility.yul\":4538:4545 */\n dup3\n /* \"#utility.yul\":4535:4536 */\n dup2\n /* \"#utility.yul\":4532:4546 */\n lt\n /* \"#utility.yul\":4524:4732 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":4617:4626 */\n dup5\n /* \"#utility.yul\":4612:4615 */\n dup10\n /* \"#utility.yul\":4608:4627 */\n add\n /* \"#utility.yul\":4602:4628 */\n mload\n /* \"#utility.yul\":4594:4600 */\n dup3\n /* \"#utility.yul\":4587:4629 */\n sstore\n /* \"#utility.yul\":4668:4669 */\n 0x01\n /* \"#utility.yul\":4660:4666 */\n dup3\n /* \"#utility.yul\":4656:4670 */\n add\n /* \"#utility.yul\":4646:4670 */\n swap2\n pop\n /* \"#utility.yul\":4715:4717 */\n 0x20\n /* \"#utility.yul\":4704:4713 */\n dup6\n /* \"#utility.yul\":4700:4718 */\n add\n /* \"#utility.yul\":4687:4718 */\n swap5\n pop\n /* \"#utility.yul\":4561:4565 */\n 0x20\n /* \"#utility.yul\":4558:4559 */\n dup2\n /* \"#utility.yul\":4554:4566 */\n add\n /* \"#utility.yul\":4549:4566 */\n swap1\n pop\n /* \"#utility.yul\":4524:4732 */\n jump(tag_82)\ntag_84:\n /* \"#utility.yul\":4760:4766 */\n dup7\n /* \"#utility.yul\":4751:4758 */\n dup4\n /* \"#utility.yul\":4748:4767 */\n lt\n /* \"#utility.yul\":4745:4924 */\n iszero\n tag_85\n jumpi\n /* \"#utility.yul\":4818:4827 */\n dup5\n /* \"#utility.yul\":4813:4816 */\n dup10\n /* \"#utility.yul\":4809:4828 */\n add\n /* \"#utility.yul\":4803:4829 */\n mload\n /* \"#utility.yul\":4861:4909 */\n tag_86\n /* \"#utility.yul\":4903:4907 */\n 0x1f\n /* \"#utility.yul\":4895:4901 */\n dup10\n /* \"#utility.yul\":4891:4908 */\n and\n /* \"#utility.yul\":4880:4889 */\n dup3\n /* \"#utility.yul\":4861:4909 */\n tag_23\n jump\t// in\ntag_86:\n /* \"#utility.yul\":4853:4859 */\n dup4\n /* \"#utility.yul\":4846:4910 */\n sstore\n /* \"#utility.yul\":4768:4924 */\n pop\n /* \"#utility.yul\":4745:4924 */\ntag_85:\n /* \"#utility.yul\":4970:4971 */\n 0x01\n /* \"#utility.yul\":4966:4967 */\n 0x02\n /* \"#utility.yul\":4958:4964 */\n dup9\n /* \"#utility.yul\":4954:4968 */\n mul\n /* \"#utility.yul\":4950:4972 */\n add\n /* \"#utility.yul\":4944:4948 */\n dup9\n /* \"#utility.yul\":4937:4973 */\n sstore\n /* \"#utility.yul\":4372:4983 */\n pop\n pop\n pop\n /* \"#utility.yul\":4335:5222 */\ntag_77:\n pop\n /* \"#utility.yul\":3925:5228 */\n pop\n pop\n pop\n /* \"#utility.yul\":3833:5228 */\n pop\n pop\n jump\t// out\n /* \"contracts/helloWorld.sol\":62:400 contract HelloWord {... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/helloWorld.sol\":62:400 contract HelloWord {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x2f64d386\n eq\n tag_3\n jumpi\n dup1\n 0x6c026f59\n eq\n tag_4\n jumpi\n dup1\n 0x771602f7\n eq\n tag_5\n jumpi\n dup1\n 0x9b6edcd2\n eq\n tag_6\n jumpi\n dup1\n 0xe5aa3d58\n eq\n tag_7\n jumpi\n dup1\n 0xef753d1d\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/helloWorld.sol\":87:119 string public word = \"HelloWord\" */\n tag_3:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":149:169 int public ii = -123 */\n tag_4:\n tag_13\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":312:398 function add(uint x, uint y) external pure returns(uint) {... */\n tag_5:\n tag_17\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n tag_20\n jump\t// in\n tag_17:\n mload(0x40)\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":213:245 int public maxIn = type(int).max */\n tag_6:\n tag_23\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n tag_25\n swap2\n swap1\n tag_16\n jump\t// in\n tag_25:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":125:143 uint public i = 22 */\n tag_7:\n tag_26\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n tag_28\n swap2\n swap1\n tag_22\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":175:207 int public minIn = type(int).min */\n tag_8:\n tag_29\n tag_30\n jump\t// in\n tag_29:\n mload(0x40)\n tag_31\n swap2\n swap1\n tag_16\n jump\t// in\n tag_31:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/helloWorld.sol\":87:119 string public word = \"HelloWord\" */\n tag_10:\n 0x00\n dup1\n sload\n tag_32\n swap1\n tag_33\n jump\t// in\n tag_32:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_34\n swap1\n tag_33\n jump\t// in\n tag_34:\n dup1\n iszero\n tag_35\n jumpi\n dup1\n 0x1f\n lt\n tag_36\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_35)\n tag_36:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_37:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_37\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_35:\n pop\n pop\n pop\n pop\n pop\n dup2\n jump\t// out\n /* \"contracts/helloWorld.sol\":149:169 int public ii = -123 */\n tag_14:\n sload(0x02)\n dup2\n jump\t// out\n /* \"contracts/helloWorld.sol\":312:398 function add(uint x, uint y) external pure returns(uint) {... */\n tag_20:\n /* \"contracts/helloWorld.sol\":363:367 uint */\n 0x00\n /* \"contracts/helloWorld.sol\":390:391 y */\n dup2\n /* \"contracts/helloWorld.sol\":386:387 x */\n dup4\n /* \"contracts/helloWorld.sol\":386:391 x + y */\n tag_39\n swap2\n swap1\n tag_40\n jump\t// in\n tag_39:\n /* \"contracts/helloWorld.sol\":379:391 return x + y */\n swap1\n pop\n /* \"contracts/helloWorld.sol\":312:398 function add(uint x, uint y) external pure returns(uint) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/helloWorld.sol\":213:245 int public maxIn = type(int).max */\n tag_24:\n sload(0x04)\n dup2\n jump\t// out\n /* \"contracts/helloWorld.sol\":125:143 uint public i = 22 */\n tag_27:\n sload(0x01)\n dup2\n jump\t// out\n /* \"contracts/helloWorld.sol\":175:207 int public minIn = type(int).min */\n tag_30:\n sload(0x03)\n dup2\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_41:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_42:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:533 */\n tag_43:\n /* \"#utility.yul\":368:369 */\n 0x00\n /* \"#utility.yul\":378:491 */\n tag_61:\n /* \"#utility.yul\":392:398 */\n dup4\n /* \"#utility.yul\":389:390 */\n dup2\n /* \"#utility.yul\":386:399 */\n lt\n /* \"#utility.yul\":378:491 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":477:478 */\n dup1\n /* \"#utility.yul\":472:475 */\n dup3\n /* \"#utility.yul\":468:479 */\n add\n /* \"#utility.yul\":462:480 */\n mload\n /* \"#utility.yul\":458:459 */\n dup2\n /* \"#utility.yul\":453:456 */\n dup5\n /* \"#utility.yul\":449:460 */\n add\n /* \"#utility.yul\":442:481 */\n mstore\n /* \"#utility.yul\":414:416 */\n 0x20\n /* \"#utility.yul\":411:412 */\n dup2\n /* \"#utility.yul\":407:417 */\n add\n /* \"#utility.yul\":402:417 */\n swap1\n pop\n /* \"#utility.yul\":378:491 */\n jump(tag_61)\n tag_63:\n /* \"#utility.yul\":525:526 */\n 0x00\n /* \"#utility.yul\":516:522 */\n dup5\n /* \"#utility.yul\":511:514 */\n dup5\n /* \"#utility.yul\":507:523 */\n add\n /* \"#utility.yul\":500:527 */\n mstore\n /* \"#utility.yul\":349:533 */\n pop\n /* \"#utility.yul\":287:533 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":539:641 */\n tag_44:\n /* \"#utility.yul\":580:586 */\n 0x00\n /* \"#utility.yul\":631:633 */\n 0x1f\n /* \"#utility.yul\":627:634 */\n not\n /* \"#utility.yul\":622:624 */\n 0x1f\n /* \"#utility.yul\":615:620 */\n dup4\n /* \"#utility.yul\":611:625 */\n add\n /* \"#utility.yul\":607:635 */\n and\n /* \"#utility.yul\":597:635 */\n swap1\n pop\n /* \"#utility.yul\":539:641 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":647:1024 */\n tag_45:\n /* \"#utility.yul\":735:738 */\n 0x00\n /* \"#utility.yul\":763:802 */\n tag_66\n /* \"#utility.yul\":796:801 */\n dup3\n /* \"#utility.yul\":763:802 */\n tag_41\n jump\t// in\n tag_66:\n /* \"#utility.yul\":818:889 */\n tag_67\n /* \"#utility.yul\":882:888 */\n dup2\n /* \"#utility.yul\":877:880 */\n dup6\n /* \"#utility.yul\":818:889 */\n tag_42\n jump\t// in\n tag_67:\n /* \"#utility.yul\":811:889 */\n swap4\n pop\n /* \"#utility.yul\":898:963 */\n tag_68\n /* \"#utility.yul\":956:962 */\n dup2\n /* \"#utility.yul\":951:954 */\n dup6\n /* \"#utility.yul\":944:948 */\n 0x20\n /* \"#utility.yul\":937:942 */\n dup7\n /* \"#utility.yul\":933:949 */\n add\n /* \"#utility.yul\":898:963 */\n tag_43\n jump\t// in\n tag_68:\n /* \"#utility.yul\":988:1017 */\n tag_69\n /* \"#utility.yul\":1010:1016 */\n dup2\n /* \"#utility.yul\":988:1017 */\n tag_44\n jump\t// in\n tag_69:\n /* \"#utility.yul\":983:986 */\n dup5\n /* \"#utility.yul\":979:1018 */\n add\n /* \"#utility.yul\":972:1018 */\n swap2\n pop\n /* \"#utility.yul\":739:1024 */\n pop\n /* \"#utility.yul\":647:1024 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1030:1343 */\n tag_12:\n /* \"#utility.yul\":1143:1147 */\n 0x00\n /* \"#utility.yul\":1181:1183 */\n 0x20\n /* \"#utility.yul\":1170:1179 */\n dup3\n /* \"#utility.yul\":1166:1184 */\n add\n /* \"#utility.yul\":1158:1184 */\n swap1\n pop\n /* \"#utility.yul\":1230:1239 */\n dup2\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1220:1240 */\n sub\n /* \"#utility.yul\":1216:1217 */\n 0x00\n /* \"#utility.yul\":1205:1214 */\n dup4\n /* \"#utility.yul\":1201:1218 */\n add\n /* \"#utility.yul\":1194:1241 */\n mstore\n /* \"#utility.yul\":1258:1336 */\n tag_71\n /* \"#utility.yul\":1331:1335 */\n dup2\n /* \"#utility.yul\":1322:1328 */\n dup5\n /* \"#utility.yul\":1258:1336 */\n tag_45\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1250:1336 */\n swap1\n pop\n /* \"#utility.yul\":1030:1343 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1349:1425 */\n tag_46:\n /* \"#utility.yul\":1385:1392 */\n 0x00\n /* \"#utility.yul\":1414:1419 */\n dup2\n /* \"#utility.yul\":1403:1419 */\n swap1\n pop\n /* \"#utility.yul\":1349:1425 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1431:1546 */\n tag_47:\n /* \"#utility.yul\":1516:1539 */\n tag_74\n /* \"#utility.yul\":1533:1538 */\n dup2\n /* \"#utility.yul\":1516:1539 */\n tag_46\n jump\t// in\n tag_74:\n /* \"#utility.yul\":1511:1514 */\n dup3\n /* \"#utility.yul\":1504:1540 */\n mstore\n /* \"#utility.yul\":1431:1546 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1552:1770 */\n tag_16:\n /* \"#utility.yul\":1643:1647 */\n 0x00\n /* \"#utility.yul\":1681:1683 */\n 0x20\n /* \"#utility.yul\":1670:1679 */\n dup3\n /* \"#utility.yul\":1666:1684 */\n add\n /* \"#utility.yul\":1658:1684 */\n swap1\n pop\n /* \"#utility.yul\":1694:1763 */\n tag_76\n /* \"#utility.yul\":1760:1761 */\n 0x00\n /* \"#utility.yul\":1749:1758 */\n dup4\n /* \"#utility.yul\":1745:1762 */\n add\n /* \"#utility.yul\":1736:1742 */\n dup5\n /* \"#utility.yul\":1694:1763 */\n tag_47\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1552:1770 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1857:1974 */\n tag_49:\n /* \"#utility.yul\":1966:1967 */\n 0x00\n /* \"#utility.yul\":1963:1964 */\n dup1\n /* \"#utility.yul\":1956:1968 */\n revert\n /* \"#utility.yul\":2103:2180 */\n tag_51:\n /* \"#utility.yul\":2140:2147 */\n 0x00\n /* \"#utility.yul\":2169:2174 */\n dup2\n /* \"#utility.yul\":2158:2174 */\n swap1\n pop\n /* \"#utility.yul\":2103:2180 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2186:2308 */\n tag_52:\n /* \"#utility.yul\":2259:2283 */\n tag_82\n /* \"#utility.yul\":2277:2282 */\n dup2\n /* \"#utility.yul\":2259:2283 */\n tag_51\n jump\t// in\n tag_82:\n /* \"#utility.yul\":2252:2257 */\n dup2\n /* \"#utility.yul\":2249:2284 */\n eq\n /* \"#utility.yul\":2239:2302 */\n tag_83\n jumpi\n /* \"#utility.yul\":2298:2299 */\n 0x00\n /* \"#utility.yul\":2295:2296 */\n dup1\n /* \"#utility.yul\":2288:2300 */\n revert\n /* \"#utility.yul\":2239:2302 */\n tag_83:\n /* \"#utility.yul\":2186:2308 */\n pop\n jump\t// out\n /* \"#utility.yul\":2314:2453 */\n tag_53:\n /* \"#utility.yul\":2360:2365 */\n 0x00\n /* \"#utility.yul\":2398:2404 */\n dup2\n /* \"#utility.yul\":2385:2405 */\n calldataload\n /* \"#utility.yul\":2376:2405 */\n swap1\n pop\n /* \"#utility.yul\":2414:2447 */\n tag_85\n /* \"#utility.yul\":2441:2446 */\n dup2\n /* \"#utility.yul\":2414:2447 */\n tag_52\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2314:2453 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2459:2933 */\n tag_19:\n /* \"#utility.yul\":2527:2533 */\n 0x00\n /* \"#utility.yul\":2535:2541 */\n dup1\n /* \"#utility.yul\":2584:2586 */\n 0x40\n /* \"#utility.yul\":2572:2581 */\n dup4\n /* \"#utility.yul\":2563:2570 */\n dup6\n /* \"#utility.yul\":2559:2582 */\n sub\n /* \"#utility.yul\":2555:2587 */\n slt\n /* \"#utility.yul\":2552:2671 */\n iszero\n tag_87\n jumpi\n /* \"#utility.yul\":2590:2669 */\n tag_88\n tag_49\n jump\t// in\n tag_88:\n /* \"#utility.yul\":2552:2671 */\n tag_87:\n /* \"#utility.yul\":2710:2711 */\n 0x00\n /* \"#utility.yul\":2735:2788 */\n tag_89\n /* \"#utility.yul\":2780:2787 */\n dup6\n /* \"#utility.yul\":2771:2777 */\n dup3\n /* \"#utility.yul\":2760:2769 */\n dup7\n /* \"#utility.yul\":2756:2778 */\n add\n /* \"#utility.yul\":2735:2788 */\n tag_53\n jump\t// in\n tag_89:\n /* \"#utility.yul\":2725:2788 */\n swap3\n pop\n /* \"#utility.yul\":2681:2798 */\n pop\n /* \"#utility.yul\":2837:2839 */\n 0x20\n /* \"#utility.yul\":2863:2916 */\n tag_90\n /* \"#utility.yul\":2908:2915 */\n dup6\n /* \"#utility.yul\":2899:2905 */\n dup3\n /* \"#utility.yul\":2888:2897 */\n dup7\n /* \"#utility.yul\":2884:2906 */\n add\n /* \"#utility.yul\":2863:2916 */\n tag_53\n jump\t// in\n tag_90:\n /* \"#utility.yul\":2853:2916 */\n swap2\n pop\n /* \"#utility.yul\":2808:2926 */\n pop\n /* \"#utility.yul\":2459:2933 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2939:3057 */\n tag_54:\n /* \"#utility.yul\":3026:3050 */\n tag_92\n /* \"#utility.yul\":3044:3049 */\n dup2\n /* \"#utility.yul\":3026:3050 */\n tag_51\n jump\t// in\n tag_92:\n /* \"#utility.yul\":3021:3024 */\n dup3\n /* \"#utility.yul\":3014:3051 */\n mstore\n /* \"#utility.yul\":2939:3057 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3063:3285 */\n tag_22:\n /* \"#utility.yul\":3156:3160 */\n 0x00\n /* \"#utility.yul\":3194:3196 */\n 0x20\n /* \"#utility.yul\":3183:3192 */\n dup3\n /* \"#utility.yul\":3179:3197 */\n add\n /* \"#utility.yul\":3171:3197 */\n swap1\n pop\n /* \"#utility.yul\":3207:3278 */\n tag_94\n /* \"#utility.yul\":3275:3276 */\n 0x00\n /* \"#utility.yul\":3264:3273 */\n dup4\n /* \"#utility.yul\":3260:3277 */\n add\n /* \"#utility.yul\":3251:3257 */\n dup5\n /* \"#utility.yul\":3207:3278 */\n tag_54\n jump\t// in\n tag_94:\n /* \"#utility.yul\":3063:3285 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3291:3471 */\n tag_55:\n /* \"#utility.yul\":3339:3416 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3336:3337 */\n 0x00\n /* \"#utility.yul\":3329:3417 */\n mstore\n /* \"#utility.yul\":3436:3440 */\n 0x22\n /* \"#utility.yul\":3433:3434 */\n 0x04\n /* \"#utility.yul\":3426:3441 */\n mstore\n /* \"#utility.yul\":3460:3464 */\n 0x24\n /* \"#utility.yul\":3457:3458 */\n 0x00\n /* \"#utility.yul\":3450:3465 */\n revert\n /* \"#utility.yul\":3477:3797 */\n tag_33:\n /* \"#utility.yul\":3521:3527 */\n 0x00\n /* \"#utility.yul\":3558:3559 */\n 0x02\n /* \"#utility.yul\":3552:3556 */\n dup3\n /* \"#utility.yul\":3548:3560 */\n div\n /* \"#utility.yul\":3538:3560 */\n swap1\n pop\n /* \"#utility.yul\":3605:3606 */\n 0x01\n /* \"#utility.yul\":3599:3603 */\n dup3\n /* \"#utility.yul\":3595:3607 */\n and\n /* \"#utility.yul\":3626:3644 */\n dup1\n /* \"#utility.yul\":3616:3697 */\n tag_97\n jumpi\n /* \"#utility.yul\":3682:3686 */\n 0x7f\n /* \"#utility.yul\":3674:3680 */\n dup3\n /* \"#utility.yul\":3670:3687 */\n and\n /* \"#utility.yul\":3660:3687 */\n swap2\n pop\n /* \"#utility.yul\":3616:3697 */\n tag_97:\n /* \"#utility.yul\":3744:3746 */\n 0x20\n /* \"#utility.yul\":3736:3742 */\n dup3\n /* \"#utility.yul\":3733:3747 */\n lt\n /* \"#utility.yul\":3713:3731 */\n dup2\n /* \"#utility.yul\":3710:3748 */\n sub\n /* \"#utility.yul\":3707:3791 */\n tag_98\n jumpi\n /* \"#utility.yul\":3763:3781 */\n tag_99\n tag_55\n jump\t// in\n tag_99:\n /* \"#utility.yul\":3707:3791 */\n tag_98:\n /* \"#utility.yul\":3528:3797 */\n pop\n /* \"#utility.yul\":3477:3797 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3803:3983 */\n tag_56:\n /* \"#utility.yul\":3851:3928 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3848:3849 */\n 0x00\n /* \"#utility.yul\":3841:3929 */\n mstore\n /* \"#utility.yul\":3948:3952 */\n 0x11\n /* \"#utility.yul\":3945:3946 */\n 0x04\n /* \"#utility.yul\":3938:3953 */\n mstore\n /* \"#utility.yul\":3972:3976 */\n 0x24\n /* \"#utility.yul\":3969:3970 */\n 0x00\n /* \"#utility.yul\":3962:3977 */\n revert\n /* \"#utility.yul\":3989:4180 */\n tag_40:\n /* \"#utility.yul\":4029:4032 */\n 0x00\n /* \"#utility.yul\":4048:4068 */\n tag_102\n /* \"#utility.yul\":4066:4067 */\n dup3\n /* \"#utility.yul\":4048:4068 */\n tag_51\n jump\t// in\n tag_102:\n /* \"#utility.yul\":4043:4068 */\n swap2\n pop\n /* \"#utility.yul\":4082:4102 */\n tag_103\n /* \"#utility.yul\":4100:4101 */\n dup4\n /* \"#utility.yul\":4082:4102 */\n tag_51\n jump\t// in\n tag_103:\n /* \"#utility.yul\":4077:4102 */\n swap3\n pop\n /* \"#utility.yul\":4125:4126 */\n dup3\n /* \"#utility.yul\":4122:4123 */\n dup3\n /* \"#utility.yul\":4118:4127 */\n add\n /* \"#utility.yul\":4111:4127 */\n swap1\n pop\n /* \"#utility.yul\":4146:4149 */\n dup1\n /* \"#utility.yul\":4143:4144 */\n dup3\n /* \"#utility.yul\":4140:4150 */\n gt\n /* \"#utility.yul\":4137:4173 */\n iszero\n tag_104\n jumpi\n /* \"#utility.yul\":4153:4171 */\n tag_105\n tag_56\n jump\t// in\n tag_105:\n /* \"#utility.yul\":4137:4173 */\n tag_104:\n /* \"#utility.yul\":3989:4180 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": { | |
| "array_dataslot_t_string_storage": { | |
| "entryPoint": 366, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 208, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "clean_up_bytearray_end_slots_t_string_storage": { | |
| "entryPoint": 687, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 502, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "clear_storage_range_t_bytes1": { | |
| "entryPoint": 648, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "convert_t_uint256_to_t_uint256": { | |
| "entryPoint": 522, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
| "entryPoint": 842, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "divide_by_32_ceil": { | |
| "entryPoint": 387, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 313, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "extract_used_part_and_set_length_of_short_byte_array": { | |
| "entryPoint": 812, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "identity": { | |
| "entryPoint": 512, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "mask_bytes_dynamic": { | |
| "entryPoint": 780, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 266, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 219, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "prepare_store_t_uint256": { | |
| "entryPoint": 562, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "shift_left_dynamic": { | |
| "entryPoint": 403, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "shift_right_unsigned_dynamic": { | |
| "entryPoint": 767, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "storage_set_to_zero_t_uint256": { | |
| "entryPoint": 620, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "update_byte_slice_dynamic32": { | |
| "entryPoint": 416, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "update_storage_value_t_uint256_to_t_uint256": { | |
| "entryPoint": 572, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "zero_value_for_split_t_uint256": { | |
| "entryPoint": 615, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:5231:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "66:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "77:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "93:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "87:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "87:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "77:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "49:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "59:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "140:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "157:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "160:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "150:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "150:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "150:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "254:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "257:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "247:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "247:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "247:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "278:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "281:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "271:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "271:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "271:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "112:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "326:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "343:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "346:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "336:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "336:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "336:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "440:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "443:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "433:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "433:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "433:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "464:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "467:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "457:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "457:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "457:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "298:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "535:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "545:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "559:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "565:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "555:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "555:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "545:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "576:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "606:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "612:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "602:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "602:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "580:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "653:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "667:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "681:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "689:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "677:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "677:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "667:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "633:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "626:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "626:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "623:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "756:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "770:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "770:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "770:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "720:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "743:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "751:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "740:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "740:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "717:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "717:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "714:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "519:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "528:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "484:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "864:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "874:11:1", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:3:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "874:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "902:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "905:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "895:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "895:14:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "895:14:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "918:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "936:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "939:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "keccak256", | |
| "nodeType": "YulIdentifier", | |
| "src": "926:9:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "926:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "918:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "851:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "859:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "810:141:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1001:49:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1011:33:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1029:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1036:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1025:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1025:14:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1041:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "1021:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1021:23:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "1011:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "984:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "994:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "957:93:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1109:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1119:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1144:4:1" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1150:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shl", | |
| "nodeType": "YulIdentifier", | |
| "src": "1140:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1140:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "1119:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulTypedName", | |
| "src": "1084:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1090:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "1100:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1056:107:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1245:317:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1255:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBytes", | |
| "nodeType": "YulIdentifier", | |
| "src": "1276:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1288:1:1", | |
| "type": "", | |
| "value": "8" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "1272:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1272:18:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulTypedName", | |
| "src": "1259:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1299:109:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1330:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1341:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "1311:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1311:97:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulTypedName", | |
| "src": "1303:4:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1417:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1448:9:1" | |
| }, | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1459:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1417:8:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1477:30:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1490:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "1501:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "1497:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1497:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1486:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1486:21:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1477:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1516:40:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1529:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1540:8:1" | |
| }, | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "1550:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1536:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1536:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "1526:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1526:30:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "1516:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "update_byte_slice_dynamic32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1206:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "shiftBytes", | |
| "nodeType": "YulTypedName", | |
| "src": "1213:10:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulTypedName", | |
| "src": "1225:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "1238:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1169:393:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1613:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1623:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1634:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1623:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1595:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1605:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1568:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1683:28:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1693:12:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1700:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "1693:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "identity", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1669:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "1679:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1651:60:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1777:82:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1787:66:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1827:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1827:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "identity", | |
| "nodeType": "YulIdentifier", | |
| "src": "1818:8:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1818:34:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1800:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1800:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulIdentifier", | |
| "src": "1787:9:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "convert_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1757:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulTypedName", | |
| "src": "1767:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1717:142:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1912:28:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1922:12:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1929:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "1922:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "prepare_store_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1898:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "1908:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1865:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2022:193:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2032:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2087:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "convert_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2056:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2056:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "convertedValue_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2036:16:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2111:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2151:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2145:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2145:11:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2158:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "convertedValue_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2190:16:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "prepare_store_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2166:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2166:41:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "update_byte_slice_dynamic32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2117:27:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2117:91:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2104:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2104:105:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2104:105:1" | |
| } | |
| ] | |
| }, | |
| "name": "update_storage_value_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "1999:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2005:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2013:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1946:269:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2270:24:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2280:8:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2287:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "2280:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "zero_value_for_split_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "2266:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2221:73:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2353:136:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2363:46:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "zero_value_for_split_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2377:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2377:32:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "zero_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2367:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2462:4:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2468:6:1" | |
| }, | |
| { | |
| "name": "zero_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2476:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "update_storage_value_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2418:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2418:65:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2418:65:1" | |
| } | |
| ] | |
| }, | |
| "name": "storage_set_to_zero_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "2339:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2345:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2300:189:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2545:136:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2612:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2656:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2663:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "storage_set_to_zero_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2626:29:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2626:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2626:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2565:5:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "2572:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2562:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2562:14:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "2577:26:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2579:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2592:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2599:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2588:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2588:13:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2579:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "2559:2:1", | |
| "statements": [] | |
| }, | |
| "src": "2555:120:1" | |
| } | |
| ] | |
| }, | |
| "name": "clear_storage_range_t_bytes1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulTypedName", | |
| "src": "2533:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2540:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2495:186:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2766:464:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2792:431:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2806:54:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "2854:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "2822:31:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2822:38:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulTypedName", | |
| "src": "2810:8:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2873:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "2896:8:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulIdentifier", | |
| "src": "2924:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulIdentifier", | |
| "src": "2906:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2906:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2892:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2892:44:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2877:11:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3093:27:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3095:23:1", | |
| "value": { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "3110:8:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3095:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulIdentifier", | |
| "src": "3077:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3089:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3074:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3074:18:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3071:49:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "3179:8:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3207:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulIdentifier", | |
| "src": "3189:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3189:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3175:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3175:37:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "clear_storage_range_t_bytes1", | |
| "nodeType": "YulIdentifier", | |
| "src": "3133:28:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3133:80:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3133:80:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "2783:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2788:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2780:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2780:11:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2777:446:1" | |
| } | |
| ] | |
| }, | |
| "name": "clean_up_bytearray_end_slots_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "2742:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulTypedName", | |
| "src": "2749:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulTypedName", | |
| "src": "2754:10:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2687:543:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3299:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3309:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulIdentifier", | |
| "src": "3334:4:1" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3340:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3330:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3330:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "3309:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_right_unsigned_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulTypedName", | |
| "src": "3274:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3280:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "3290:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3236:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3410:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3420:68:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3469:1:1", | |
| "type": "", | |
| "value": "8" | |
| }, | |
| { | |
| "name": "bytes", | |
| "nodeType": "YulIdentifier", | |
| "src": "3472:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "3465:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3465:13:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3484:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3480:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3480:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_right_unsigned_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "3436:28:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3436:51:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3432:56:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulTypedName", | |
| "src": "3424:4:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3497:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3511:4:1" | |
| }, | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "3517:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3507:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3507:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "3497:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3387:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "bytes", | |
| "nodeType": "YulTypedName", | |
| "src": "3393:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "3403:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3359:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3614:214:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3747:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3774:4:1" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3780:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "3755:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3755:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3747:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3793:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3804:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3814:1:1", | |
| "type": "", | |
| "value": "2" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3817:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "3810:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3810:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "3801:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3801:21:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "used", | |
| "nodeType": "YulIdentifier", | |
| "src": "3793:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "extract_used_part_and_set_length_of_short_byte_array", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3595:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulTypedName", | |
| "src": "3601:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "used", | |
| "nodeType": "YulTypedName", | |
| "src": "3609:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3533:295:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3925:1303:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3936:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "3983:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3950:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3950:37:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulTypedName", | |
| "src": "3940:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4072:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "4074:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4074:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4074:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4044:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4052:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4041:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4041:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4038:56:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4104:52:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4150:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4144:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4144:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4118:25:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4118:38:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "oldLen", | |
| "nodeType": "YulTypedName", | |
| "src": "4108:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4249:4:1" | |
| }, | |
| { | |
| "name": "oldLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4255:6:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4263:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "clean_up_bytearray_end_slots_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "4203:45:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4203:67:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4203:67:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4280:18:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4297:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulTypedName", | |
| "src": "4284:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4308:17:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4321:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4308:9:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "cases": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4372:611:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4386:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4405:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4417:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "4413:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4413:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4401:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4401:22:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "4390:7:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4437:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4483:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "4451:31:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4451:37:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "4441:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4501:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4510:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "4505:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4569:163:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4594:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "4612:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4617:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4608:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4608:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4602:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4602:26:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4587:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4587:42:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4587:42:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4646:24:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4660:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4668:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4656:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4656:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4646:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4687:31:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4704:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4715:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4700:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4700:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4687:9:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4535:1:1" | |
| }, | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4538:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4532:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4532:14:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "4547:21:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4549:17:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4558:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4561:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4554:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4554:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4549:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "4528:3:1", | |
| "statements": [] | |
| }, | |
| "src": "4524:208:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4768:156:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4786:43:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "4813:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4818:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4809:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4809:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4803:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4803:26:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "lastValue", | |
| "nodeType": "YulTypedName", | |
| "src": "4790:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4853:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "lastValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "4880:9:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4895:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4903:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4891:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4891:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "4861:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4861:48:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4846:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4846:64:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4846:64:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4751:7:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4760:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4748:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4748:19:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4745:179:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4944:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4958:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4966:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "4954:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4954:14:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4970:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4950:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4950:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4937:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4937:36:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4937:36:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "4365:618:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4370:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5000:222:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5014:14:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5027:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5018:5:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5051:67:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5069:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "5088:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "5093:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5084:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5084:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "5078:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5078:26:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5069:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "5044:6:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "5041:77:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "5138:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5197:5:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "5204:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "extract_used_part_and_set_length_of_short_byte_array", | |
| "nodeType": "YulIdentifier", | |
| "src": "5144:52:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5144:67:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5131:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5131:81:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5131:81:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "4992:230:1", | |
| "value": "default" | |
| } | |
| ], | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4345:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4353:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4342:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4342:14:1" | |
| }, | |
| "nodeType": "YulSwitch", | |
| "src": "4335:887:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "3914:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "3920:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3833:1395:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "60806040526040518060400160405280600981526020017f48656c6c6f576f72640000000000000000000000000000000000000000000000815250600090816200004a91906200034a565b5060166001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff856002557f80000000000000000000000000000000000000000000000000000000000000006003557f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600455348015620000c957600080fd5b5062000431565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200015257607f821691505b6020821081036200016857620001676200010a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001d27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000193565b620001de868362000193565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200022b620002256200021f84620001f6565b62000200565b620001f6565b9050919050565b6000819050919050565b62000247836200020a565b6200025f620002568262000232565b848454620001a0565b825550505050565b600090565b6200027662000267565b620002838184846200023c565b505050565b5b81811015620002ab576200029f6000826200026c565b60018101905062000289565b5050565b601f821115620002fa57620002c4816200016e565b620002cf8462000183565b81016020851015620002df578190505b620002f7620002ee8562000183565b83018262000288565b50505b505050565b600082821c905092915050565b60006200031f60001984600802620002ff565b1980831691505092915050565b60006200033a83836200030c565b9150826002028217905092915050565b6200035582620000d0565b67ffffffffffffffff811115620003715762000370620000db565b5b6200037d825462000139565b6200038a828285620002af565b600060209050601f831160018114620003c25760008415620003ad578287015190505b620003b985826200032c565b86555062000429565b601f198416620003d2866200016e565b60005b82811015620003fc57848901518255600182019150602085019450602081019050620003d5565b868310156200041c578489015162000418601f8916826200030c565b8355505b6001600288020188555050505b505050505050565b61046d80620004416000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632f64d386146100675780636c026f5914610085578063771602f7146100a35780639b6edcd2146100d3578063e5aa3d58146100f1578063ef753d1d1461010f575b600080fd5b61006f61012d565b60405161007c9190610279565b60405180910390f35b61008d6101bb565b60405161009a91906102b4565b60405180910390f35b6100bd60048036038101906100b8919061030a565b6101c1565b6040516100ca9190610359565b60405180910390f35b6100db6101d7565b6040516100e891906102b4565b60405180910390f35b6100f96101dd565b6040516101069190610359565b60405180910390f35b6101176101e3565b60405161012491906102b4565b60405180910390f35b6000805461013a906103a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610166906103a3565b80156101b35780601f10610188576101008083540402835291602001916101b3565b820191906000526020600020905b81548152906001019060200180831161019657829003601f168201915b505050505081565b60025481565b600081836101cf9190610403565b905092915050565b60045481565b60015481565b60035481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610223578082015181840152602081019050610208565b60008484015250505050565b6000601f19601f8301169050919050565b600061024b826101e9565b61025581856101f4565b9350610265818560208601610205565b61026e8161022f565b840191505092915050565b600060208201905081810360008301526102938184610240565b905092915050565b6000819050919050565b6102ae8161029b565b82525050565b60006020820190506102c960008301846102a5565b92915050565b600080fd5b6000819050919050565b6102e7816102d4565b81146102f257600080fd5b50565b600081359050610304816102de565b92915050565b60008060408385031215610321576103206102cf565b5b600061032f858286016102f5565b9250506020610340858286016102f5565b9150509250929050565b610353816102d4565b82525050565b600060208201905061036e600083018461034a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103bb57607f821691505b6020821081036103ce576103cd610374565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061040e826102d4565b9150610419836102d4565b9250828201905080821115610431576104306103d4565b5b9291505056fea2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F576F72640000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP2 PUSH3 0x4A SWAP2 SWAP1 PUSH3 0x34A JUMP JUMPDEST POP PUSH1 0x16 PUSH1 0x1 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 PUSH1 0x2 SSTORE PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 PUSH1 0x3 SSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x431 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x152 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x168 JUMPI PUSH3 0x167 PUSH3 0x10A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x1D2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x193 JUMP JUMPDEST PUSH3 0x1DE DUP7 DUP4 PUSH3 0x193 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP 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 PUSH3 0x22B PUSH3 0x225 PUSH3 0x21F DUP5 PUSH3 0x1F6 JUMP JUMPDEST PUSH3 0x200 JUMP JUMPDEST PUSH3 0x1F6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x247 DUP4 PUSH3 0x20A JUMP JUMPDEST PUSH3 0x25F PUSH3 0x256 DUP3 PUSH3 0x232 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x1A0 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x276 PUSH3 0x267 JUMP JUMPDEST PUSH3 0x283 DUP2 DUP5 DUP5 PUSH3 0x23C JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x2AB JUMPI PUSH3 0x29F PUSH1 0x0 DUP3 PUSH3 0x26C JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x289 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2FA JUMPI PUSH3 0x2C4 DUP2 PUSH3 0x16E JUMP JUMPDEST PUSH3 0x2CF DUP5 PUSH3 0x183 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x2DF JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2F7 PUSH3 0x2EE DUP6 PUSH3 0x183 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x288 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x31F PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2FF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x33A DUP4 DUP4 PUSH3 0x30C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x355 DUP3 PUSH3 0xD0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x371 JUMPI PUSH3 0x370 PUSH3 0xDB JUMP JUMPDEST JUMPDEST PUSH3 0x37D DUP3 SLOAD PUSH3 0x139 JUMP JUMPDEST PUSH3 0x38A DUP3 DUP3 DUP6 PUSH3 0x2AF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x3C2 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x3AD JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x3B9 DUP6 DUP3 PUSH3 0x32C JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x429 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x3D2 DUP7 PUSH3 0x16E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3FC JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3D5 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x41C JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x418 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x30C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x46D DUP1 PUSH3 0x441 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F64D386 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6C026F59 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x9B6EDCD2 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xEF753D1D EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x279 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x1BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x30A JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x117 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x13A SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x188 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x196 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x1CF SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x223 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x208 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP3 PUSH2 0x1E9 JUMP JUMPDEST PUSH2 0x255 DUP2 DUP6 PUSH2 0x1F4 JUMP JUMPDEST SWAP4 POP PUSH2 0x265 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x205 JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x22F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x293 DUP2 DUP5 PUSH2 0x240 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2AE DUP2 PUSH2 0x29B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E7 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x304 DUP2 PUSH2 0x2DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x321 JUMPI PUSH2 0x320 PUSH2 0x2CF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32F DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x340 DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x353 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x34A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3CE JUMPI PUSH2 0x3CD PUSH2 0x374 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x40E DUP3 PUSH2 0x2D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x419 DUP4 PUSH2 0x2D4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x431 JUMPI PUSH2 0x430 PUSH2 0x3D4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC ADD 0xD5 0xAE 0x29 BLOCKHASH CALLDATALOAD SHR DELEGATECALL 0xCC PUSH7 0x5EFAA75E29A407 PUSH14 0x4377745E7D626CC1A80ACFE26264 PUSH20 0x6F6C634300081100330000000000000000000000 ", | |
| "sourceMap": "62:338:0:-:0;;;87:32;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;141:2;125:18;;165:4;149:20;;194:13;175:32;;232:13;213:32;;62:338;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;62:338:0:-;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@add_39": { | |
| "entryPoint": 449, | |
| "id": 39, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@i_7": { | |
| "entryPoint": 477, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@ii_11": { | |
| "entryPoint": 443, | |
| "id": 11, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@maxIn_25": { | |
| "entryPoint": 471, | |
| "id": 25, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@minIn_18": { | |
| "entryPoint": 483, | |
| "id": 18, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@word_4": { | |
| "entryPoint": 301, | |
| "id": 4, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 757, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256t_uint256": { | |
| "entryPoint": 778, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 2 | |
| }, | |
| "abi_encode_t_int256_to_t_int256_fromStack": { | |
| "entryPoint": 677, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 576, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 842, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { | |
| "entryPoint": 692, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 633, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 857, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 489, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 500, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 1027, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_int256": { | |
| "entryPoint": 667, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 724, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory_with_cleanup": { | |
| "entryPoint": 517, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 931, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 980, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 884, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 719, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 559, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 734, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:4183:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "66:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "77:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "93:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "87:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "87:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "77:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "49:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "59:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "208:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "225:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "230:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "218:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "218:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "218:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "246:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "265:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "270:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "261:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "261:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "246:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "180:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "185:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "196:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "112:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "349:184:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "359:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "368:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "363:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "428:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "453:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "458:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "449:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "449:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "472:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "477:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "468:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "468:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "462:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "462:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "442:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "442:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "442:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "389:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "392:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "386:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "386:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "400:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "402:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "414:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "407:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "407:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "402:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "382:3:1", | |
| "statements": [] | |
| }, | |
| "src": "378:113:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "511:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "516:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "507:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "507:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "525:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "500:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "500:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "500:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory_with_cleanup", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "331:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "336:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "341:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "287:246:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "587:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "597:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "615:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "622:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "611:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "611:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "631:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "627:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "627:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "607:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "607:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "597:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "570:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "580:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "539:102:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "739:285:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "749:53:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "796:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "763:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "763:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "753:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "811:78:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "877:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "818:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "818:71:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "811:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "937:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "944:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "933:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "933:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "951:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "956:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory_with_cleanup", | |
| "nodeType": "YulIdentifier", | |
| "src": "898:34:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "898:65:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "898:65:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "972:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "983:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1010:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "988:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "988:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "979:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "979:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "972:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "720:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "727:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "735:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "647:377:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1148:195:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1158:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1170:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1181:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1166:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1166:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1158:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1205:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1216:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1201:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1201:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1224:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1230:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1220:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1220:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1194:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1194:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1194:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1250:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1322:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1331:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1258:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1258:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1250:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1120:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1132:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1143:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1030:313:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1393:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1403:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1414:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1403:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_int256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1375:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1385:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1349:76:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1494:52:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1511:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1533:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_int256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1516:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1516:23:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1504:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1504:36:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1504:36:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_int256_to_t_int256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1482:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1489:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1431:115:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1648:122:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1658:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1670:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1681:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1666:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1666:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1658:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1736:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1749:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1760:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1745:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1745:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_int256_to_t_int256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1694:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1694:69:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1694:69:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1620:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1632:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1643:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1552:218:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1816:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1826:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1842:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1836:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1836:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1826:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1809:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1776:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1946:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1963:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1966:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1956:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1956:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1956:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1857:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2069:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2086:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2089:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2079:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2079:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2079:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1980:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2148:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2158:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2169:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2158:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2130:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2140:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2103:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2229:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2286:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2295:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2298:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2288:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2288:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2288:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2252:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2277:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2259:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2259:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "2249:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2249:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2242:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2242:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2239:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2222:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2186:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2366:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2376:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2398:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2385:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2385:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2376:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2441:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2414:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2414:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2414:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2344:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2352:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2360:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2314:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2542:391:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2588:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "2590:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2590:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2590:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2563:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2572:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "2559:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2559:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2584:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2555:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2555:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2552:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2681:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2696:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2710:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2700:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2725:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2760:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2771:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2756:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2756:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2780:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2735:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2735:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2725:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2808:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2823:16:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2837:2:1", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2827:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2853:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2888:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2899:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2884:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2884:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2908:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2863:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2863:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "2853:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2504:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "2515:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "2527:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "2535:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2459:474:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3004:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3021:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3044:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3026:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3026:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3014:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3014:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3014:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2992:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2999:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2939:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3161:124:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3171:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3183:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3194:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3179:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3179:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "3171:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "3251:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3264:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3275:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3260:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3260:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3207:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3207:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3207:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "3133:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "3145:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "3156:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3063:222:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3319:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3336:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3339:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3329:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3329:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3329:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3433:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3436:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3426:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3426:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3426:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3457:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3460:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3450:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3450:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3450:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3291:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3528:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3538:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3552:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3558:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "3548:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3548:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3538:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3569:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3599:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3605:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3595:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3595:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "3573:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3646:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3660:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3674:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3682:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3670:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3670:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3660:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3626:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3619:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3619:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3616:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3749:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "3763:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3763:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3763:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3713:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3736:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3744:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3733:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3733:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3710:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3710:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3707:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3512:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3521:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3477:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3831:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3848:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3851:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3841:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3841:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3841:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3945:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3948:4:1", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3938:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3938:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3938:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3969:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3972:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3962:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3962:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3962:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3803:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4033:147:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4043:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4066:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4048:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4048:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4043:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4077:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4100:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4082:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4082:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4077:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4111:16:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4122:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4125:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4118:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4118:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "4111:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4151:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "4153:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4153:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4153:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4143:1:1" | |
| }, | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "4146:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4140:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4140:10:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4137:36:1" | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "4020:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "4023:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "4029:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3989:191:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function 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_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80632f64d386146100675780636c026f5914610085578063771602f7146100a35780639b6edcd2146100d3578063e5aa3d58146100f1578063ef753d1d1461010f575b600080fd5b61006f61012d565b60405161007c9190610279565b60405180910390f35b61008d6101bb565b60405161009a91906102b4565b60405180910390f35b6100bd60048036038101906100b8919061030a565b6101c1565b6040516100ca9190610359565b60405180910390f35b6100db6101d7565b6040516100e891906102b4565b60405180910390f35b6100f96101dd565b6040516101069190610359565b60405180910390f35b6101176101e3565b60405161012491906102b4565b60405180910390f35b6000805461013a906103a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610166906103a3565b80156101b35780601f10610188576101008083540402835291602001916101b3565b820191906000526020600020905b81548152906001019060200180831161019657829003601f168201915b505050505081565b60025481565b600081836101cf9190610403565b905092915050565b60045481565b60015481565b60035481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610223578082015181840152602081019050610208565b60008484015250505050565b6000601f19601f8301169050919050565b600061024b826101e9565b61025581856101f4565b9350610265818560208601610205565b61026e8161022f565b840191505092915050565b600060208201905081810360008301526102938184610240565b905092915050565b6000819050919050565b6102ae8161029b565b82525050565b60006020820190506102c960008301846102a5565b92915050565b600080fd5b6000819050919050565b6102e7816102d4565b81146102f257600080fd5b50565b600081359050610304816102de565b92915050565b60008060408385031215610321576103206102cf565b5b600061032f858286016102f5565b9250506020610340858286016102f5565b9150509250929050565b610353816102d4565b82525050565b600060208201905061036e600083018461034a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103bb57607f821691505b6020821081036103ce576103cd610374565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061040e826102d4565b9150610419836102d4565b9250828201905080821115610431576104306103d4565b5b9291505056fea2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F64D386 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6C026F59 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x9B6EDCD2 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xEF753D1D EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x279 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x1BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x30A JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x117 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x13A SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x188 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x196 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x1CF SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x223 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x208 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP3 PUSH2 0x1E9 JUMP JUMPDEST PUSH2 0x255 DUP2 DUP6 PUSH2 0x1F4 JUMP JUMPDEST SWAP4 POP PUSH2 0x265 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x205 JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x22F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x293 DUP2 DUP5 PUSH2 0x240 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2AE DUP2 PUSH2 0x29B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E7 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x304 DUP2 PUSH2 0x2DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x321 JUMPI PUSH2 0x320 PUSH2 0x2CF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32F DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x340 DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x353 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x34A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3CE JUMPI PUSH2 0x3CD PUSH2 0x374 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x40E DUP3 PUSH2 0x2D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x419 DUP4 PUSH2 0x2D4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x431 JUMPI PUSH2 0x430 PUSH2 0x3D4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC ADD 0xD5 0xAE 0x29 BLOCKHASH CALLDATALOAD SHR DELEGATECALL 0xCC PUSH7 0x5EFAA75E29A407 PUSH14 0x4377745E7D626CC1A80ACFE26264 PUSH20 0x6F6C634300081100330000000000000000000000 ", | |
| "sourceMap": "62:338:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;149:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;312:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;213:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;175:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;149:20::-;;;;:::o;312:86::-;363:4;390:1;386;:5;;;;:::i;:::-;379:12;;312:86;;;;:::o;213:32::-;;;;:::o;125:18::-;;;;:::o;175:32::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:76::-;1385:7;1414:5;1403:16;;1349:76;;;:::o;1431:115::-;1516:23;1533:5;1516:23;:::i;:::-;1511:3;1504:36;1431:115;;:::o;1552:218::-;1643:4;1681:2;1670:9;1666:18;1658:26;;1694:69;1760:1;1749:9;1745:17;1736:6;1694:69;:::i;:::-;1552:218;;;;:::o;1857:117::-;1966:1;1963;1956:12;2103:77;2140:7;2169:5;2158:16;;2103:77;;;:::o;2186:122::-;2259:24;2277:5;2259:24;:::i;:::-;2252:5;2249:35;2239:63;;2298:1;2295;2288:12;2239:63;2186:122;:::o;2314:139::-;2360:5;2398:6;2385:20;2376:29;;2414:33;2441:5;2414:33;:::i;:::-;2314:139;;;;:::o;2459:474::-;2527:6;2535;2584:2;2572:9;2563:7;2559:23;2555:32;2552:119;;;2590:79;;:::i;:::-;2552:119;2710:1;2735:53;2780:7;2771:6;2760:9;2756:22;2735:53;:::i;:::-;2725:63;;2681:117;2837:2;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2808:118;2459:474;;;;;:::o;2939:118::-;3026:24;3044:5;3026:24;:::i;:::-;3021:3;3014:37;2939:118;;:::o;3063:222::-;3156:4;3194:2;3183:9;3179:18;3171:26;;3207:71;3275:1;3264:9;3260:17;3251:6;3207:71;:::i;:::-;3063:222;;;;:::o;3291:180::-;3339:77;3336:1;3329:88;3436:4;3433:1;3426:15;3460:4;3457:1;3450:15;3477:320;3521:6;3558:1;3552:4;3548:12;3538:22;;3605:1;3599:4;3595:12;3626:18;3616:81;;3682:4;3674:6;3670:17;3660:27;;3616:81;3744:2;3736:6;3733:14;3713:18;3710:38;3707:84;;3763:18;;:::i;:::-;3707:84;3528:269;3477:320;;;:::o;3803:180::-;3851:77;3848:1;3841:88;3948:4;3945:1;3938:15;3972:4;3969:1;3962:15;3989:191;4029:3;4048:20;4066:1;4048:20;:::i;:::-;4043:25;;4082:20;4100:1;4082:20;:::i;:::-;4077:25;;4125:1;4122;4118:9;4111:16;;4146:3;4143:1;4140:10;4137:36;;;4153:18;;:::i;:::-;4137:36;3989:191;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "226600", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "add(uint256,uint256)": "infinite", | |
| "i()": "2495", | |
| "ii()": "2429", | |
| "maxIn()": "2473", | |
| "minIn()": "2517", | |
| "word()": "infinite" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "48656C6C6F576F72640000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 141, | |
| "end": 143, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 165, | |
| "end": 169, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 194, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "8000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 232, | |
| "end": 245, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 59, | |
| "end": 65, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 93, | |
| "end": 98, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 99, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 77, | |
| "end": 99, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 77, | |
| "end": 99, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 292, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 292, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 160, | |
| "end": 237, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 157, | |
| "end": 158, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 150, | |
| "end": 238, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 257, | |
| "end": 261, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 254, | |
| "end": 255, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 247, | |
| "end": 262, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 281, | |
| "end": 285, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 278, | |
| "end": 279, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 271, | |
| "end": 286, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 298, | |
| "end": 478, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 298, | |
| "end": 478, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 423, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 343, | |
| "end": 344, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 336, | |
| "end": 424, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 443, | |
| "end": 447, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 440, | |
| "end": 441, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 433, | |
| "end": 448, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 467, | |
| "end": 471, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 464, | |
| "end": 465, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 457, | |
| "end": 472, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 528, | |
| "end": 534, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 565, | |
| "end": 566, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 559, | |
| "end": 563, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 555, | |
| "end": 567, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 567, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 567, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 612, | |
| "end": 613, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 606, | |
| "end": 610, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 602, | |
| "end": 614, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 633, | |
| "end": 651, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 704, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 704, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 689, | |
| "end": 693, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 681, | |
| "end": 687, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 677, | |
| "end": 694, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 667, | |
| "end": 694, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 667, | |
| "end": 694, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 704, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 704, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 751, | |
| "end": 753, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 743, | |
| "end": 749, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 740, | |
| "end": 754, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 720, | |
| "end": 738, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 717, | |
| "end": 755, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 714, | |
| "end": 798, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 714, | |
| "end": 798, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 788, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 788, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 788, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 788, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 788, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 714, | |
| "end": 798, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 714, | |
| "end": 798, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 535, | |
| "end": 804, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 484, | |
| "end": 804, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 859, | |
| "end": 863, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 882, | |
| "end": 885, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 874, | |
| "end": 885, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 874, | |
| "end": 885, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 905, | |
| "end": 908, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 902, | |
| "end": 903, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 895, | |
| "end": 909, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 939, | |
| "end": 943, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 936, | |
| "end": 937, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 926, | |
| "end": 944, | |
| "name": "KECCAK256", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 918, | |
| "end": 944, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 918, | |
| "end": 944, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 810, | |
| "end": 951, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 994, | |
| "end": 1000, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1041, | |
| "end": 1043, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1036, | |
| "end": 1038, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 1029, | |
| "end": 1034, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1039, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1021, | |
| "end": 1044, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1011, | |
| "end": 1044, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1011, | |
| "end": 1044, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 1050, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1100, | |
| "end": 1108, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1150, | |
| "end": 1155, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1144, | |
| "end": 1148, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1140, | |
| "end": 1156, | |
| "name": "SHL", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1119, | |
| "end": 1156, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1119, | |
| "end": 1156, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1056, | |
| "end": 1163, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1238, | |
| "end": 1244, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1288, | |
| "end": 1289, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 1276, | |
| "end": 1286, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1272, | |
| "end": 1290, | |
| "name": "MUL", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1311, | |
| "end": 1408, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1341, | |
| "end": 1407, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 1330, | |
| "end": 1339, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1311, | |
| "end": 1408, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 1311, | |
| "end": 1408, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1311, | |
| "end": 1408, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1311, | |
| "end": 1408, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1468, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": 1459, | |
| "end": 1467, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1448, | |
| "end": 1457, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1468, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1468, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1468, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1468, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1417, | |
| "end": 1468, | |
| "name": "SWAP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1417, | |
| "end": 1468, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1501, | |
| "end": 1505, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1497, | |
| "end": 1506, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1490, | |
| "end": 1495, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1486, | |
| "end": 1507, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1477, | |
| "end": 1507, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1477, | |
| "end": 1507, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1550, | |
| "end": 1554, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1540, | |
| "end": 1548, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1536, | |
| "end": 1555, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1529, | |
| "end": 1534, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1526, | |
| "end": 1556, | |
| "name": "OR", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1556, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1556, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1245, | |
| "end": 1562, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1245, | |
| "end": 1562, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1169, | |
| "end": 1562, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1605, | |
| "end": 1612, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1634, | |
| "end": 1639, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1623, | |
| "end": 1639, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1623, | |
| "end": 1639, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1568, | |
| "end": 1645, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1679, | |
| "end": 1682, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1700, | |
| "end": 1705, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1705, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1705, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1651, | |
| "end": 1711, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1776, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1800, | |
| "end": 1853, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 1818, | |
| "end": 1852, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 1827, | |
| "end": 1851, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 1845, | |
| "end": 1850, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1827, | |
| "end": 1851, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 1827, | |
| "end": 1851, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1827, | |
| "end": 1851, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 1827, | |
| "end": 1851, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1818, | |
| "end": 1852, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 1818, | |
| "end": 1852, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1818, | |
| "end": 1852, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 1818, | |
| "end": 1852, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1800, | |
| "end": 1853, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 1800, | |
| "end": 1853, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1800, | |
| "end": 1853, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 1800, | |
| "end": 1853, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1787, | |
| "end": 1853, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1787, | |
| "end": 1853, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1717, | |
| "end": 1859, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1908, | |
| "end": 1911, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1929, | |
| "end": 1934, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1922, | |
| "end": 1934, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1922, | |
| "end": 1934, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1865, | |
| "end": 1940, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2056, | |
| "end": 2095, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 2087, | |
| "end": 2094, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2056, | |
| "end": 2095, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 2056, | |
| "end": 2095, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2056, | |
| "end": 2095, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 2056, | |
| "end": 2095, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2117, | |
| "end": 2208, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 2166, | |
| "end": 2207, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 2190, | |
| "end": 2206, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2166, | |
| "end": 2207, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 2166, | |
| "end": 2207, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2166, | |
| "end": 2207, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 2166, | |
| "end": 2207, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2158, | |
| "end": 2164, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2151, | |
| "end": 2155, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2145, | |
| "end": 2156, | |
| "name": "SLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2117, | |
| "end": 2208, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 2117, | |
| "end": 2208, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2117, | |
| "end": 2208, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 2117, | |
| "end": 2208, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2111, | |
| "end": 2115, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2104, | |
| "end": 2209, | |
| "name": "SSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2022, | |
| "end": 2215, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1946, | |
| "end": 2215, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2221, | |
| "end": 2294, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 2221, | |
| "end": 2294, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2266, | |
| "end": 2269, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2221, | |
| "end": 2294, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2221, | |
| "end": 2294, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2489, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2489, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2377, | |
| "end": 2409, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "52" | |
| }, | |
| { | |
| "begin": 2377, | |
| "end": 2409, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 2377, | |
| "end": 2409, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2377, | |
| "end": 2409, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "52" | |
| }, | |
| { | |
| "begin": 2377, | |
| "end": 2409, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2483, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 2476, | |
| "end": 2482, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2474, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2462, | |
| "end": 2466, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2483, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2483, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2483, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2483, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2353, | |
| "end": 2489, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2489, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2489, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2489, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2681, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2681, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2572, | |
| "end": 2575, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2565, | |
| "end": 2570, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2562, | |
| "end": 2576, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "57" | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2626, | |
| "end": 2665, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "58" | |
| }, | |
| { | |
| "begin": 2663, | |
| "end": 2664, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2656, | |
| "end": 2661, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2626, | |
| "end": 2665, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 2626, | |
| "end": 2665, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2626, | |
| "end": 2665, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "58" | |
| }, | |
| { | |
| "begin": 2626, | |
| "end": 2665, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2599, | |
| "end": 2600, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 2592, | |
| "end": 2597, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2588, | |
| "end": 2601, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2579, | |
| "end": 2601, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2579, | |
| "end": 2601, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "57" | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2675, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2681, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2681, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2681, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2788, | |
| "end": 2790, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 2783, | |
| "end": 2786, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2780, | |
| "end": 2791, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 3223, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 3223, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "60" | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 3223, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2822, | |
| "end": 2860, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 2854, | |
| "end": 2859, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2822, | |
| "end": 2860, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 2822, | |
| "end": 2860, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2822, | |
| "end": 2860, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 2822, | |
| "end": 2860, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2906, | |
| "end": 2935, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 2924, | |
| "end": 2934, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2906, | |
| "end": 2935, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 2906, | |
| "end": 2935, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2906, | |
| "end": 2935, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 2906, | |
| "end": 2935, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2896, | |
| "end": 2904, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2892, | |
| "end": 2936, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3089, | |
| "end": 3091, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3077, | |
| "end": 3087, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3074, | |
| "end": 3092, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3071, | |
| "end": 3120, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3071, | |
| "end": 3120, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 3071, | |
| "end": 3120, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3110, | |
| "end": 3118, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3095, | |
| "end": 3118, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3095, | |
| "end": 3118, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3071, | |
| "end": 3120, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 3071, | |
| "end": 3120, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3133, | |
| "end": 3213, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 3189, | |
| "end": 3211, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3210, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3189, | |
| "end": 3211, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 3189, | |
| "end": 3211, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3189, | |
| "end": 3211, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 3189, | |
| "end": 3211, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3179, | |
| "end": 3187, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3175, | |
| "end": 3212, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3162, | |
| "end": 3173, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3133, | |
| "end": 3213, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3133, | |
| "end": 3213, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3133, | |
| "end": 3213, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 3133, | |
| "end": 3213, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2792, | |
| "end": 3223, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2792, | |
| "end": 3223, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 3223, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "60" | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 3223, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2687, | |
| "end": 3230, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3290, | |
| "end": 3298, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3340, | |
| "end": 3345, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3334, | |
| "end": 3338, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3330, | |
| "end": 3346, | |
| "name": "SHR", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3309, | |
| "end": 3346, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3309, | |
| "end": 3346, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3236, | |
| "end": 3353, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3403, | |
| "end": 3409, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3487, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 3484, | |
| "end": 3485, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3480, | |
| "end": 3486, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3472, | |
| "end": 3477, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3469, | |
| "end": 3470, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 3465, | |
| "end": 3478, | |
| "name": "MUL", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3487, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3487, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3487, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3487, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3432, | |
| "end": 3488, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3517, | |
| "end": 3521, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3511, | |
| "end": 3515, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3507, | |
| "end": 3522, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3497, | |
| "end": 3522, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3497, | |
| "end": 3522, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3410, | |
| "end": 3528, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3359, | |
| "end": 3528, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3609, | |
| "end": 3613, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3755, | |
| "end": 3784, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 3780, | |
| "end": 3783, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3774, | |
| "end": 3778, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3755, | |
| "end": 3784, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 3755, | |
| "end": 3784, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3755, | |
| "end": 3784, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 3755, | |
| "end": 3784, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3747, | |
| "end": 3784, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3747, | |
| "end": 3784, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3817, | |
| "end": 3820, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3814, | |
| "end": 3815, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 3810, | |
| "end": 3821, | |
| "name": "MUL", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3804, | |
| "end": 3808, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3801, | |
| "end": 3822, | |
| "name": "OR", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3793, | |
| "end": 3822, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3793, | |
| "end": 3822, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3533, | |
| "end": 3828, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3833, | |
| "end": 5228, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 3833, | |
| "end": 5228, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3950, | |
| "end": 3987, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "72" | |
| }, | |
| { | |
| "begin": 3983, | |
| "end": 3986, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3950, | |
| "end": 3987, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 3950, | |
| "end": 3987, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3950, | |
| "end": 3987, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "72" | |
| }, | |
| { | |
| "begin": 3950, | |
| "end": 3987, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4052, | |
| "end": 4070, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 4044, | |
| "end": 4050, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4041, | |
| "end": 4071, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4038, | |
| "end": 4094, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4038, | |
| "end": 4094, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "73" | |
| }, | |
| { | |
| "begin": 4038, | |
| "end": 4094, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4074, | |
| "end": 4092, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 4074, | |
| "end": 4092, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 4074, | |
| "end": 4092, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4074, | |
| "end": 4092, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 4074, | |
| "end": 4092, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4038, | |
| "end": 4094, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "73" | |
| }, | |
| { | |
| "begin": 4038, | |
| "end": 4094, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4156, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "75" | |
| }, | |
| { | |
| "begin": 4150, | |
| "end": 4154, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4144, | |
| "end": 4155, | |
| "name": "SLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4156, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4156, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4156, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "75" | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4156, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4203, | |
| "end": 4270, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 4263, | |
| "end": 4269, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4255, | |
| "end": 4261, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4249, | |
| "end": 4253, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4203, | |
| "end": 4270, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 4203, | |
| "end": 4270, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4203, | |
| "end": 4270, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 4203, | |
| "end": 4270, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4297, | |
| "end": 4298, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4321, | |
| "end": 4325, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 4308, | |
| "end": 4325, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4308, | |
| "end": 4325, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4353, | |
| "end": 4355, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 4345, | |
| "end": 4351, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4342, | |
| "end": 4356, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4370, | |
| "end": 4371, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "78" | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5027, | |
| "end": 5028, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 5044, | |
| "end": 5050, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5041, | |
| "end": 5118, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5041, | |
| "end": 5118, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "79" | |
| }, | |
| { | |
| "begin": 5041, | |
| "end": 5118, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5093, | |
| "end": 5102, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5088, | |
| "end": 5091, | |
| "name": "DUP8", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5084, | |
| "end": 5103, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5078, | |
| "end": 5104, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5069, | |
| "end": 5104, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5069, | |
| "end": 5104, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5041, | |
| "end": 5118, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "79" | |
| }, | |
| { | |
| "begin": 5041, | |
| "end": 5118, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5144, | |
| "end": 5211, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 5204, | |
| "end": 5210, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5197, | |
| "end": 5202, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5144, | |
| "end": 5211, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 5144, | |
| "end": 5211, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5144, | |
| "end": 5211, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 5144, | |
| "end": 5211, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5138, | |
| "end": 5142, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5131, | |
| "end": 5212, | |
| "name": "SSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 5000, | |
| "end": 5222, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4335, | |
| "end": 5222, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "77" | |
| }, | |
| { | |
| "begin": 4335, | |
| "end": 5222, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "78" | |
| }, | |
| { | |
| "begin": 4365, | |
| "end": 4983, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4417, | |
| "end": 4421, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 4413, | |
| "end": 4422, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4405, | |
| "end": 4411, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4401, | |
| "end": 4423, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4451, | |
| "end": 4488, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "81" | |
| }, | |
| { | |
| "begin": 4483, | |
| "end": 4487, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4451, | |
| "end": 4488, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 4451, | |
| "end": 4488, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4451, | |
| "end": 4488, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "81" | |
| }, | |
| { | |
| "begin": 4451, | |
| "end": 4488, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4510, | |
| "end": 4511, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "82" | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4538, | |
| "end": 4545, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4535, | |
| "end": 4536, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4532, | |
| "end": 4546, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "84" | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4617, | |
| "end": 4626, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4612, | |
| "end": 4615, | |
| "name": "DUP10", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4608, | |
| "end": 4627, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4602, | |
| "end": 4628, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4594, | |
| "end": 4600, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4587, | |
| "end": 4629, | |
| "name": "SSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4668, | |
| "end": 4669, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 4660, | |
| "end": 4666, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4656, | |
| "end": 4670, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4646, | |
| "end": 4670, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4646, | |
| "end": 4670, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4715, | |
| "end": 4717, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 4704, | |
| "end": 4713, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4700, | |
| "end": 4718, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4687, | |
| "end": 4718, | |
| "name": "SWAP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4687, | |
| "end": 4718, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4561, | |
| "end": 4565, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 4558, | |
| "end": 4559, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4554, | |
| "end": 4566, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4549, | |
| "end": 4566, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4549, | |
| "end": 4566, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "82" | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "84" | |
| }, | |
| { | |
| "begin": 4524, | |
| "end": 4732, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4760, | |
| "end": 4766, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4751, | |
| "end": 4758, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4748, | |
| "end": 4767, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4745, | |
| "end": 4924, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4745, | |
| "end": 4924, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 4745, | |
| "end": 4924, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4818, | |
| "end": 4827, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4813, | |
| "end": 4816, | |
| "name": "DUP10", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4809, | |
| "end": 4828, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4803, | |
| "end": 4829, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4861, | |
| "end": 4909, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "86" | |
| }, | |
| { | |
| "begin": 4903, | |
| "end": 4907, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 4895, | |
| "end": 4901, | |
| "name": "DUP10", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4891, | |
| "end": 4908, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4880, | |
| "end": 4889, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4861, | |
| "end": 4909, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 4861, | |
| "end": 4909, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4861, | |
| "end": 4909, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "86" | |
| }, | |
| { | |
| "begin": 4861, | |
| "end": 4909, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4853, | |
| "end": 4859, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4846, | |
| "end": 4910, | |
| "name": "SSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4768, | |
| "end": 4924, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4745, | |
| "end": 4924, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 4745, | |
| "end": 4924, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4970, | |
| "end": 4971, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 4966, | |
| "end": 4967, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 4958, | |
| "end": 4964, | |
| "name": "DUP9", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4954, | |
| "end": 4968, | |
| "name": "MUL", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4950, | |
| "end": 4972, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4944, | |
| "end": 4948, | |
| "name": "DUP9", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4937, | |
| "end": 4973, | |
| "name": "SSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4372, | |
| "end": 4983, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4372, | |
| "end": 4983, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4372, | |
| "end": 4983, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4335, | |
| "end": 5222, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "77" | |
| }, | |
| { | |
| "begin": 4335, | |
| "end": 5222, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4335, | |
| "end": 5222, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3925, | |
| "end": 5228, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3925, | |
| "end": 5228, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3925, | |
| "end": 5228, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3833, | |
| "end": 5228, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3833, | |
| "end": 5228, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3833, | |
| "end": 5228, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033", | |
| ".code": [ | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2F64D386" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "6C026F59" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "771602F7" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "9B6EDCD2" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E5AA3D58" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "EF753D1D" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 400, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "33" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "33" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "KECCAK256", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 119, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 149, | |
| "end": 169, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 363, | |
| "end": 367, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 390, | |
| "end": 391, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 387, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "39" | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "39" | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 391, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 379, | |
| "end": 391, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 379, | |
| "end": 391, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 312, | |
| "end": 398, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 245, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 143, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 175, | |
| "end": 207, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 59, | |
| "end": 65, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 93, | |
| "end": 98, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 87, | |
| "end": 99, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 77, | |
| "end": 99, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 77, | |
| "end": 99, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 106, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 196, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 230, | |
| "end": 236, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 225, | |
| "end": 228, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 218, | |
| "end": 237, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 270, | |
| "end": 274, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 265, | |
| "end": 268, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 261, | |
| "end": 275, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 246, | |
| "end": 275, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 246, | |
| "end": 275, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 281, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 368, | |
| "end": 369, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 392, | |
| "end": 398, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 389, | |
| "end": 390, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 399, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 477, | |
| "end": 478, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 472, | |
| "end": 475, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 468, | |
| "end": 479, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 462, | |
| "end": 480, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 458, | |
| "end": 459, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 453, | |
| "end": 456, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 449, | |
| "end": 460, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 442, | |
| "end": 481, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 414, | |
| "end": 416, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 412, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 407, | |
| "end": 417, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 417, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 417, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 491, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 525, | |
| "end": 526, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 516, | |
| "end": 522, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 511, | |
| "end": 514, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 507, | |
| "end": 523, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 500, | |
| "end": 527, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 349, | |
| "end": 533, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 287, | |
| "end": 533, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 580, | |
| "end": 586, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 631, | |
| "end": 633, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 627, | |
| "end": 634, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 622, | |
| "end": 624, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 615, | |
| "end": 620, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 625, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 607, | |
| "end": 635, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 597, | |
| "end": 635, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 597, | |
| "end": 635, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 539, | |
| "end": 641, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 735, | |
| "end": 738, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 763, | |
| "end": 802, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "66" | |
| }, | |
| { | |
| "begin": 796, | |
| "end": 801, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 763, | |
| "end": 802, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 763, | |
| "end": 802, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 763, | |
| "end": 802, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "66" | |
| }, | |
| { | |
| "begin": 763, | |
| "end": 802, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 818, | |
| "end": 889, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 882, | |
| "end": 888, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 877, | |
| "end": 880, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 818, | |
| "end": 889, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 818, | |
| "end": 889, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 818, | |
| "end": 889, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 818, | |
| "end": 889, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 811, | |
| "end": 889, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 811, | |
| "end": 889, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 898, | |
| "end": 963, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 956, | |
| "end": 962, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 951, | |
| "end": 954, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 948, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 937, | |
| "end": 942, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 933, | |
| "end": 949, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 898, | |
| "end": 963, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 898, | |
| "end": 963, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 898, | |
| "end": 963, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 898, | |
| "end": 963, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 1017, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 1010, | |
| "end": 1016, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 1017, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 1017, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 1017, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 1017, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 983, | |
| "end": 986, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 979, | |
| "end": 1018, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 972, | |
| "end": 1018, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 972, | |
| "end": 1018, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 739, | |
| "end": 1024, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 647, | |
| "end": 1024, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1143, | |
| "end": 1147, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1181, | |
| "end": 1183, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1170, | |
| "end": 1179, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1166, | |
| "end": 1184, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1158, | |
| "end": 1184, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1158, | |
| "end": 1184, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1230, | |
| "end": 1239, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1224, | |
| "end": 1228, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1220, | |
| "end": 1240, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1216, | |
| "end": 1217, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1205, | |
| "end": 1214, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1201, | |
| "end": 1218, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1194, | |
| "end": 1241, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1258, | |
| "end": 1336, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 1331, | |
| "end": 1335, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1328, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1258, | |
| "end": 1336, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 1258, | |
| "end": 1336, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1258, | |
| "end": 1336, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 1258, | |
| "end": 1336, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1250, | |
| "end": 1336, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1250, | |
| "end": 1336, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1030, | |
| "end": 1343, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "46" | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1385, | |
| "end": 1392, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1414, | |
| "end": 1419, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1403, | |
| "end": 1419, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1403, | |
| "end": 1419, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1349, | |
| "end": 1425, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1431, | |
| "end": 1546, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 1431, | |
| "end": 1546, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1539, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 1533, | |
| "end": 1538, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1539, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "46" | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1539, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1539, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 1516, | |
| "end": 1539, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1511, | |
| "end": 1514, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1504, | |
| "end": 1540, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1431, | |
| "end": 1546, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1431, | |
| "end": 1546, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1431, | |
| "end": 1546, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1643, | |
| "end": 1647, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1681, | |
| "end": 1683, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1679, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1666, | |
| "end": 1684, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1658, | |
| "end": 1684, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1658, | |
| "end": 1684, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1694, | |
| "end": 1763, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 1760, | |
| "end": 1761, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1749, | |
| "end": 1758, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1745, | |
| "end": 1762, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1736, | |
| "end": 1742, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1694, | |
| "end": 1763, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 1694, | |
| "end": 1763, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1694, | |
| "end": 1763, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 1694, | |
| "end": 1763, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1552, | |
| "end": 1770, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1857, | |
| "end": 1974, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 1857, | |
| "end": 1974, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1966, | |
| "end": 1967, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1963, | |
| "end": 1964, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1956, | |
| "end": 1968, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2140, | |
| "end": 2147, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2169, | |
| "end": 2174, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2158, | |
| "end": 2174, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2158, | |
| "end": 2174, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2103, | |
| "end": 2180, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2186, | |
| "end": 2308, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "52" | |
| }, | |
| { | |
| "begin": 2186, | |
| "end": 2308, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2259, | |
| "end": 2283, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "82" | |
| }, | |
| { | |
| "begin": 2277, | |
| "end": 2282, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2259, | |
| "end": 2283, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 2259, | |
| "end": 2283, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2259, | |
| "end": 2283, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "82" | |
| }, | |
| { | |
| "begin": 2259, | |
| "end": 2283, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2252, | |
| "end": 2257, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2249, | |
| "end": 2284, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2239, | |
| "end": 2302, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "83" | |
| }, | |
| { | |
| "begin": 2239, | |
| "end": 2302, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2298, | |
| "end": 2299, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2295, | |
| "end": 2296, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2288, | |
| "end": 2300, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2239, | |
| "end": 2302, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "83" | |
| }, | |
| { | |
| "begin": 2239, | |
| "end": 2302, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2186, | |
| "end": 2308, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2186, | |
| "end": 2308, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2360, | |
| "end": 2365, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2398, | |
| "end": 2404, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2385, | |
| "end": 2405, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2376, | |
| "end": 2405, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2376, | |
| "end": 2405, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2414, | |
| "end": 2447, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 2441, | |
| "end": 2446, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2414, | |
| "end": 2447, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "52" | |
| }, | |
| { | |
| "begin": 2414, | |
| "end": 2447, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2414, | |
| "end": 2447, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 2414, | |
| "end": 2447, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2314, | |
| "end": 2453, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2527, | |
| "end": 2533, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2535, | |
| "end": 2541, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2584, | |
| "end": 2586, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 2572, | |
| "end": 2581, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2563, | |
| "end": 2570, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2559, | |
| "end": 2582, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2555, | |
| "end": 2587, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2552, | |
| "end": 2671, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2552, | |
| "end": 2671, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "87" | |
| }, | |
| { | |
| "begin": 2552, | |
| "end": 2671, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2590, | |
| "end": 2669, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "88" | |
| }, | |
| { | |
| "begin": 2590, | |
| "end": 2669, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 2590, | |
| "end": 2669, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2590, | |
| "end": 2669, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "88" | |
| }, | |
| { | |
| "begin": 2590, | |
| "end": 2669, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2552, | |
| "end": 2671, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "87" | |
| }, | |
| { | |
| "begin": 2552, | |
| "end": 2671, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2710, | |
| "end": 2711, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2735, | |
| "end": 2788, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "89" | |
| }, | |
| { | |
| "begin": 2780, | |
| "end": 2787, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2771, | |
| "end": 2777, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2760, | |
| "end": 2769, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2756, | |
| "end": 2778, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2735, | |
| "end": 2788, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 2735, | |
| "end": 2788, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2735, | |
| "end": 2788, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "89" | |
| }, | |
| { | |
| "begin": 2735, | |
| "end": 2788, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2725, | |
| "end": 2788, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2725, | |
| "end": 2788, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2681, | |
| "end": 2798, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2837, | |
| "end": 2839, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 2863, | |
| "end": 2916, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "90" | |
| }, | |
| { | |
| "begin": 2908, | |
| "end": 2915, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2899, | |
| "end": 2905, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2888, | |
| "end": 2897, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2884, | |
| "end": 2906, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2863, | |
| "end": 2916, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 2863, | |
| "end": 2916, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2863, | |
| "end": 2916, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "90" | |
| }, | |
| { | |
| "begin": 2863, | |
| "end": 2916, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2853, | |
| "end": 2916, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2853, | |
| "end": 2916, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2808, | |
| "end": 2926, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2459, | |
| "end": 2933, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2939, | |
| "end": 3057, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 2939, | |
| "end": 3057, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3050, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "92" | |
| }, | |
| { | |
| "begin": 3044, | |
| "end": 3049, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3050, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3050, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3050, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "92" | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3050, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3021, | |
| "end": 3024, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3014, | |
| "end": 3051, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2939, | |
| "end": 3057, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2939, | |
| "end": 3057, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2939, | |
| "end": 3057, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3156, | |
| "end": 3160, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3194, | |
| "end": 3196, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3183, | |
| "end": 3192, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3179, | |
| "end": 3197, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3171, | |
| "end": 3197, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3171, | |
| "end": 3197, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3278, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "94" | |
| }, | |
| { | |
| "begin": 3275, | |
| "end": 3276, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3264, | |
| "end": 3273, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3260, | |
| "end": 3277, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3251, | |
| "end": 3257, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3278, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3278, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3278, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "94" | |
| }, | |
| { | |
| "begin": 3207, | |
| "end": 3278, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3063, | |
| "end": 3285, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3291, | |
| "end": 3471, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 3291, | |
| "end": 3471, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3339, | |
| "end": 3416, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 3336, | |
| "end": 3337, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3329, | |
| "end": 3417, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3436, | |
| "end": 3440, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 3433, | |
| "end": 3434, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 3426, | |
| "end": 3441, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3460, | |
| "end": 3464, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 3457, | |
| "end": 3458, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3450, | |
| "end": 3465, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "33" | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3521, | |
| "end": 3527, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3559, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 3552, | |
| "end": 3556, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3548, | |
| "end": 3560, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3538, | |
| "end": 3560, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3538, | |
| "end": 3560, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3605, | |
| "end": 3606, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 3599, | |
| "end": 3603, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3595, | |
| "end": 3607, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3626, | |
| "end": 3644, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3616, | |
| "end": 3697, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "97" | |
| }, | |
| { | |
| "begin": 3616, | |
| "end": 3697, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3682, | |
| "end": 3686, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 3674, | |
| "end": 3680, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3670, | |
| "end": 3687, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3660, | |
| "end": 3687, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3660, | |
| "end": 3687, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3616, | |
| "end": 3697, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "97" | |
| }, | |
| { | |
| "begin": 3616, | |
| "end": 3697, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3744, | |
| "end": 3746, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3736, | |
| "end": 3742, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3733, | |
| "end": 3747, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3713, | |
| "end": 3731, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3710, | |
| "end": 3748, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3707, | |
| "end": 3791, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "98" | |
| }, | |
| { | |
| "begin": 3707, | |
| "end": 3791, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3781, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "99" | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3781, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3781, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3781, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "99" | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3781, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3707, | |
| "end": 3791, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "98" | |
| }, | |
| { | |
| "begin": 3707, | |
| "end": 3791, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3528, | |
| "end": 3797, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3797, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3803, | |
| "end": 3983, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 3803, | |
| "end": 3983, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3851, | |
| "end": 3928, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 3848, | |
| "end": 3849, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3841, | |
| "end": 3929, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3948, | |
| "end": 3952, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 3945, | |
| "end": 3946, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 3938, | |
| "end": 3953, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3972, | |
| "end": 3976, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 3969, | |
| "end": 3970, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3962, | |
| "end": 3977, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4029, | |
| "end": 4032, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4048, | |
| "end": 4068, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "102" | |
| }, | |
| { | |
| "begin": 4066, | |
| "end": 4067, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4048, | |
| "end": 4068, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 4048, | |
| "end": 4068, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4048, | |
| "end": 4068, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "102" | |
| }, | |
| { | |
| "begin": 4048, | |
| "end": 4068, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4043, | |
| "end": 4068, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4043, | |
| "end": 4068, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4082, | |
| "end": 4102, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "103" | |
| }, | |
| { | |
| "begin": 4100, | |
| "end": 4101, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4082, | |
| "end": 4102, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 4082, | |
| "end": 4102, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4082, | |
| "end": 4102, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "103" | |
| }, | |
| { | |
| "begin": 4082, | |
| "end": 4102, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4077, | |
| "end": 4102, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4077, | |
| "end": 4102, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4125, | |
| "end": 4126, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4122, | |
| "end": 4123, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4118, | |
| "end": 4127, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4111, | |
| "end": 4127, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4111, | |
| "end": 4127, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4146, | |
| "end": 4149, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4143, | |
| "end": 4144, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4140, | |
| "end": 4150, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4137, | |
| "end": 4173, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4137, | |
| "end": 4173, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "104" | |
| }, | |
| { | |
| "begin": 4137, | |
| "end": 4173, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4153, | |
| "end": 4171, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "105" | |
| }, | |
| { | |
| "begin": 4153, | |
| "end": 4171, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 4153, | |
| "end": 4171, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4153, | |
| "end": 4171, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "105" | |
| }, | |
| { | |
| "begin": 4153, | |
| "end": 4171, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4137, | |
| "end": 4173, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "104" | |
| }, | |
| { | |
| "begin": 4137, | |
| "end": 4173, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3989, | |
| "end": 4180, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| } | |
| ] | |
| } | |
| }, | |
| "sourceList": [ | |
| "contracts/helloWorld.sol", | |
| "#utility.yul" | |
| ] | |
| }, | |
| "methodIdentifiers": { | |
| "add(uint256,uint256)": "771602f7", | |
| "i()": "e5aa3d58", | |
| "ii()": "6c026f59", | |
| "maxIn()": "9b6edcd2", | |
| "minIn()": "ef753d1d", | |
| "word()": "2f64d386" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"i\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ii\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxIn\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minIn\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"word\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/helloWorld.sol\":\"HelloWord\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/helloWorld.sol\":{\"keccak256\":\"0x408cac86fb8c7b19fcbd13ea16ab70bded84e99355b799309f2634488fa4d73e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e2edb929ea010e8e96817658707f7e217c2bcb0b52b6af58f8dc9d60529a710a\",\"dweb:/ipfs/QmPX7xasQUokeHjXexWQWXronvYiSZY6zPzBkDnkXkr5Xh\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 4, | |
| "contract": "contracts/helloWorld.sol:HelloWord", | |
| "label": "word", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_string_storage" | |
| }, | |
| { | |
| "astId": 7, | |
| "contract": "contracts/helloWorld.sol:HelloWord", | |
| "label": "i", | |
| "offset": 0, | |
| "slot": "1", | |
| "type": "t_uint256" | |
| }, | |
| { | |
| "astId": 11, | |
| "contract": "contracts/helloWorld.sol:HelloWord", | |
| "label": "ii", | |
| "offset": 0, | |
| "slot": "2", | |
| "type": "t_int256" | |
| }, | |
| { | |
| "astId": 18, | |
| "contract": "contracts/helloWorld.sol:HelloWord", | |
| "label": "minIn", | |
| "offset": 0, | |
| "slot": "3", | |
| "type": "t_int256" | |
| }, | |
| { | |
| "astId": 25, | |
| "contract": "contracts/helloWorld.sol:HelloWord", | |
| "label": "maxIn", | |
| "offset": 0, | |
| "slot": "4", | |
| "type": "t_int256" | |
| } | |
| ], | |
| "types": { | |
| "t_int256": { | |
| "encoding": "inplace", | |
| "label": "int256", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_string_storage": { | |
| "encoding": "bytes", | |
| "label": "string", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_uint256": { | |
| "encoding": "inplace", | |
| "label": "uint256", | |
| "numberOfBytes": "32" | |
| } | |
| } | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| } | |
| } | |
| }, | |
| "sources": { | |
| "contracts/helloWorld.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/helloWorld.sol", | |
| "exportedSymbols": { | |
| "HelloWord": [ | |
| 40 | |
| ] | |
| }, | |
| "id": 41, | |
| "license": "GPL-3.0", | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "0.8", | |
| ".17" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "37:23:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "canonicalName": "HelloWord", | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 40, | |
| "linearizedBaseContracts": [ | |
| 40 | |
| ], | |
| "name": "HelloWord", | |
| "nameLocation": "71:9:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "functionSelector": "2f64d386", | |
| "id": 4, | |
| "mutability": "mutable", | |
| "name": "word", | |
| "nameLocation": "101:4:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 40, | |
| "src": "87:32:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 2, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "87:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "48656c6c6f576f7264", | |
| "id": 3, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "108:11:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_8921e50042c3d0188d48bda61a01d128d6171e4650684b16ea8ad8fd7e15a184", | |
| "typeString": "literal_string \"HelloWord\"" | |
| }, | |
| "value": "HelloWord" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "functionSelector": "e5aa3d58", | |
| "id": 7, | |
| "mutability": "mutable", | |
| "name": "i", | |
| "nameLocation": "137:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 40, | |
| "src": "125:18:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 5, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "125:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "3232", | |
| "id": 6, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "141:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_22_by_1", | |
| "typeString": "int_const 22" | |
| }, | |
| "value": "22" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "functionSelector": "6c026f59", | |
| "id": 11, | |
| "mutability": "mutable", | |
| "name": "ii", | |
| "nameLocation": "160:2:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 40, | |
| "src": "149:20:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| }, | |
| "typeName": { | |
| "id": 8, | |
| "name": "int", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "149:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "value": { | |
| "id": 10, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "-", | |
| "prefix": true, | |
| "src": "165:4:0", | |
| "subExpression": { | |
| "hexValue": "313233", | |
| "id": 9, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "166:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_123_by_1", | |
| "typeString": "int_const 123" | |
| }, | |
| "value": "123" | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_minus_123_by_1", | |
| "typeString": "int_const -123" | |
| } | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "functionSelector": "ef753d1d", | |
| "id": 18, | |
| "mutability": "mutable", | |
| "name": "minIn", | |
| "nameLocation": "186:5:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 40, | |
| "src": "175:32:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| }, | |
| "typeName": { | |
| "id": 12, | |
| "name": "int", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "175:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "value": { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "id": 15, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "ElementaryTypeNameExpression", | |
| "src": "199:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_type$_t_int256_$", | |
| "typeString": "type(int256)" | |
| }, | |
| "typeName": { | |
| "id": 14, | |
| "name": "int", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "199:3:0", | |
| "typeDescriptions": {} | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_type$_t_int256_$", | |
| "typeString": "type(int256)" | |
| } | |
| ], | |
| "id": 13, | |
| "name": "type", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967269, | |
| "src": "194:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_metatype_pure$__$returns$__$", | |
| "typeString": "function () pure" | |
| } | |
| }, | |
| "id": 16, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "nameLocations": [], | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "194:9:0", | |
| "tryCall": false, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_meta_type_t_int256", | |
| "typeString": "type(int256)" | |
| } | |
| }, | |
| "id": 17, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "memberLocation": "204:3:0", | |
| "memberName": "min", | |
| "nodeType": "MemberAccess", | |
| "src": "194:13:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "functionSelector": "9b6edcd2", | |
| "id": 25, | |
| "mutability": "mutable", | |
| "name": "maxIn", | |
| "nameLocation": "224:5:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 40, | |
| "src": "213:32:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| }, | |
| "typeName": { | |
| "id": 19, | |
| "name": "int", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "213:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "value": { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "id": 22, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "ElementaryTypeNameExpression", | |
| "src": "237:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_type$_t_int256_$", | |
| "typeString": "type(int256)" | |
| }, | |
| "typeName": { | |
| "id": 21, | |
| "name": "int", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "237:3:0", | |
| "typeDescriptions": {} | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_type$_t_int256_$", | |
| "typeString": "type(int256)" | |
| } | |
| ], | |
| "id": 20, | |
| "name": "type", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967269, | |
| "src": "232:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_metatype_pure$__$returns$__$", | |
| "typeString": "function () pure" | |
| } | |
| }, | |
| "id": 23, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "nameLocations": [], | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "232:9:0", | |
| "tryCall": false, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_meta_type_t_int256", | |
| "typeString": "type(int256)" | |
| } | |
| }, | |
| "id": 24, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "memberLocation": "242:3:0", | |
| "memberName": "max", | |
| "nodeType": "MemberAccess", | |
| "src": "232:13:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 38, | |
| "nodeType": "Block", | |
| "src": "369:29:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 36, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "id": 34, | |
| "name": "x", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 27, | |
| "src": "386:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "id": 35, | |
| "name": "y", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 29, | |
| "src": "390:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "386:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 33, | |
| "id": 37, | |
| "nodeType": "Return", | |
| "src": "379:12:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "771602f7", | |
| "id": 39, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "add", | |
| "nameLocation": "321:3:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 30, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 27, | |
| "mutability": "mutable", | |
| "name": "x", | |
| "nameLocation": "330:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 39, | |
| "src": "325:6:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 26, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "325:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 29, | |
| "mutability": "mutable", | |
| "name": "y", | |
| "nameLocation": "338:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 39, | |
| "src": "333:6:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 28, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "333:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "324:16:0" | |
| }, | |
| "returnParameters": { | |
| "id": 33, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 32, | |
| "mutability": "mutable", | |
| "name": "", | |
| "nameLocation": "-1:-1:-1", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 39, | |
| "src": "363:4:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 31, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "363:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "362:6:0" | |
| }, | |
| "scope": 40, | |
| "src": "312:86:0", | |
| "stateMutability": "pure", | |
| "virtual": false, | |
| "visibility": "external" | |
| } | |
| ], | |
| "scope": 41, | |
| "src": "62:338:0", | |
| "usedErrors": [] | |
| } | |
| ], | |
| "src": "37:363:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "77a79776061812c4c610b2d5f2b37b57", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/excise.sol": { | |
| "content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract SimpleStorage {\n uint storedData;\n\n function bid() public payable{\n \n }\n}" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "contracts": { | |
| "contracts/excise.sol": { | |
| "SimpleStorage": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "bid", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"contracts/excise.sol\":70:168 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/excise.sol\":70:168 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x1998aeef\n eq\n tag_2\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"contracts/excise.sol\":121:166 function bid() public payable{... */\n tag_2:\n tag_3\n tag_4\n jump\t// in\n tag_3:\n stop\n tag_4:\n jump\t// out\n\n auxdata: 0xa2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": {}, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "6080604052348015600f57600080fd5b50606180601d6000396000f3fe608060405260043610601c5760003560e01c80631998aeef146021575b600080fd5b60276029565b005b56fea2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x61 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1998AEEF EQ PUSH1 0x21 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x27 PUSH1 0x29 JUMP JUMPDEST STOP JUMPDEST JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDMOD 0x2C 0x22 DUP1 0xAB CALLDATACOPY RETURN 0xB0 SWAP5 0x4B PUSH10 0x15E965D89C359DEDF66C PUSH21 0xDAF8534A4456FB0DE09864736F6C63430008070033 ", | |
| "sourceMap": "70:98:0:-:0;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@bid_7": { | |
| "entryPoint": 41, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405260043610601c5760003560e01c80631998aeef146021575b600080fd5b60276029565b005b56fea2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1998AEEF EQ PUSH1 0x21 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x27 PUSH1 0x29 JUMP JUMPDEST STOP JUMPDEST JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDMOD 0x2C 0x22 DUP1 0xAB CALLDATACOPY RETURN 0xB0 SWAP5 0x4B PUSH10 0x15E965D89C359DEDF66C PUSH21 0xDAF8534A4456FB0DE09864736F6C63430008070033 ", | |
| "sourceMap": "70:98:0:-:0;;;;;;;;;;;;;;;;;;;;;121:45;;;:::i;:::-;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "19400", | |
| "executionCost": "75", | |
| "totalCost": "19475" | |
| }, | |
| "external": { | |
| "bid()": "98" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033", | |
| ".code": [ | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1998AEEF" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 70, | |
| "end": 168, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 166, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "bid()": "1998aeef" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/excise.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/excise.sol\":{\"keccak256\":\"0xabddd3fc1206a85163503beace7b14a00564dc3f9deffc49fe2e4a6389016e54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa7a9bdba208d01d13af55fb96019b12118207372cc53cb74b18983884b2391a\",\"dweb:/ipfs/QmPZe7wcixEvVUVbuo9aWsUFxoX1SnRCwPJcHtrgS28Y9r\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 3, | |
| "contract": "contracts/excise.sol:SimpleStorage", | |
| "label": "storedData", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_uint256" | |
| } | |
| ], | |
| "types": { | |
| "t_uint256": { | |
| "encoding": "inplace", | |
| "label": "uint256", | |
| "numberOfBytes": "32" | |
| } | |
| } | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| } | |
| } | |
| }, | |
| "sources": { | |
| "contracts/excise.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/excise.sol", | |
| "exportedSymbols": { | |
| "SimpleStorage": [ | |
| 8 | |
| ] | |
| }, | |
| "id": 9, | |
| "license": "GPL-3.0", | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| ">=", | |
| "0.7", | |
| ".0", | |
| "<", | |
| "0.9", | |
| ".0" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "37:31:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 8, | |
| "linearizedBaseContracts": [ | |
| 8 | |
| ], | |
| "name": "SimpleStorage", | |
| "nameLocation": "79:13:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 3, | |
| "mutability": "mutable", | |
| "name": "storedData", | |
| "nameLocation": "104:10:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 8, | |
| "src": "99:15:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 2, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "99:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 6, | |
| "nodeType": "Block", | |
| "src": "150:16:0", | |
| "statements": [] | |
| }, | |
| "functionSelector": "1998aeef", | |
| "id": 7, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "bid", | |
| "nameLocation": "130:3:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 4, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "133:2:0" | |
| }, | |
| "returnParameters": { | |
| "id": 5, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "150:0:0" | |
| }, | |
| "scope": 8, | |
| "src": "121:45:0", | |
| "stateMutability": "payable", | |
| "virtual": false, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 9, | |
| "src": "70:98:0", | |
| "usedErrors": [] | |
| } | |
| ], | |
| "src": "37:131:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "array_dataslot_t_string_storage": { | |
| "entryPoint": 366, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 208, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "clean_up_bytearray_end_slots_t_string_storage": { | |
| "entryPoint": 687, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 502, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "clear_storage_range_t_bytes1": { | |
| "entryPoint": 648, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "convert_t_uint256_to_t_uint256": { | |
| "entryPoint": 522, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { | |
| "entryPoint": 842, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "divide_by_32_ceil": { | |
| "entryPoint": 387, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 313, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "extract_used_part_and_set_length_of_short_byte_array": { | |
| "entryPoint": 812, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "identity": { | |
| "entryPoint": 512, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "mask_bytes_dynamic": { | |
| "entryPoint": 780, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 266, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 219, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "prepare_store_t_uint256": { | |
| "entryPoint": 562, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "shift_left_dynamic": { | |
| "entryPoint": 403, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "shift_right_unsigned_dynamic": { | |
| "entryPoint": 767, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "storage_set_to_zero_t_uint256": { | |
| "entryPoint": 620, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "update_byte_slice_dynamic32": { | |
| "entryPoint": 416, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "update_storage_value_t_uint256_to_t_uint256": { | |
| "entryPoint": 572, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "zero_value_for_split_t_uint256": { | |
| "entryPoint": 615, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:5231:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "66:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "77:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "93:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "87:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "87:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "77:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "49:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "59:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "140:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "157:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "160:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "150:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "150:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "150:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "254:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "257:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "247:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "247:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "247:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "278:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "281:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "271:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "271:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "271:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "112:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "326:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "343:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "346:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "336:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "336:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "336:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "440:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "443:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "433:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "433:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "433:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "464:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "467:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "457:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "457:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "457:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "298:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "535:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "545:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "559:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "565:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "555:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "555:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "545:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "576:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "606:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "612:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "602:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "602:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "580:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "653:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "667:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "681:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "689:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "677:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "677:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "667:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "633:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "626:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "626:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "623:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "756:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "770:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "770:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "770:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "720:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "743:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "751:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "740:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "740:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "717:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "717:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "714:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "519:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "528:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "484:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "864:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "874:11:1", | |
| "value": { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:3:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "874:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "902:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "905:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "895:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "895:14:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "895:14:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "918:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "936:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "939:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "keccak256", | |
| "nodeType": "YulIdentifier", | |
| "src": "926:9:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "926:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "918:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "ptr", | |
| "nodeType": "YulTypedName", | |
| "src": "851:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "859:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "810:141:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1001:49:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1011:33:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1029:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1036:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1025:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1025:14:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1041:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "1021:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1021:23:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "1011:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "984:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "994:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "957:93:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1109:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1119:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1144:4:1" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1150:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shl", | |
| "nodeType": "YulIdentifier", | |
| "src": "1140:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1140:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "1119:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulTypedName", | |
| "src": "1084:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1090:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "1100:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1056:107:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1245:317:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1255:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBytes", | |
| "nodeType": "YulIdentifier", | |
| "src": "1276:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1288:1:1", | |
| "type": "", | |
| "value": "8" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "1272:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1272:18:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulTypedName", | |
| "src": "1259:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1299:109:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1330:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1341:66:1", | |
| "type": "", | |
| "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "1311:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1311:97:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulTypedName", | |
| "src": "1303:4:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1417:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "shiftBits", | |
| "nodeType": "YulIdentifier", | |
| "src": "1448:9:1" | |
| }, | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1459:8:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_left_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1417:8:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1477:30:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1490:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "1501:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "1497:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1497:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1486:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1486:21:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1477:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1516:40:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1529:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1540:8:1" | |
| }, | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "1550:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "1536:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1536:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "1526:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1526:30:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "1516:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "update_byte_slice_dynamic32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1206:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "shiftBytes", | |
| "nodeType": "YulTypedName", | |
| "src": "1213:10:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "toInsert", | |
| "nodeType": "YulTypedName", | |
| "src": "1225:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "1238:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1169:393:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1613:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1623:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1634:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1623:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1595:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1605:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1568:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1683:28:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1693:12:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1700:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "1693:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "identity", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1669:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "1679:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1651:60:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1777:82:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1787:66:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1827:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1827:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "identity", | |
| "nodeType": "YulIdentifier", | |
| "src": "1818:8:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1818:34:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1800:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1800:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulIdentifier", | |
| "src": "1787:9:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "convert_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1757:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "converted", | |
| "nodeType": "YulTypedName", | |
| "src": "1767:9:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1717:142:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1912:28:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1922:12:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1929:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "1922:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "prepare_store_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1898:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "1908:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1865:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2022:193:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2032:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2087:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "convert_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2056:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2056:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "convertedValue_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2036:16:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2111:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2151:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2145:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2145:11:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2158:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "convertedValue_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2190:16:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "prepare_store_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2166:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2166:41:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "update_byte_slice_dynamic32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2117:27:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2117:91:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2104:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2104:105:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2104:105:1" | |
| } | |
| ] | |
| }, | |
| "name": "update_storage_value_t_uint256_to_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "1999:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2005:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2013:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1946:269:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2270:24:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2280:8:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2287:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulIdentifier", | |
| "src": "2280:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "zero_value_for_split_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "ret", | |
| "nodeType": "YulTypedName", | |
| "src": "2266:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2221:73:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2353:136:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2363:46:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "zero_value_for_split_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2377:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2377:32:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "zero_0", | |
| "nodeType": "YulTypedName", | |
| "src": "2367:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "2462:4:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2468:6:1" | |
| }, | |
| { | |
| "name": "zero_0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2476:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "update_storage_value_t_uint256_to_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2418:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2418:65:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2418:65:1" | |
| } | |
| ] | |
| }, | |
| "name": "storage_set_to_zero_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "2339:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2345:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2300:189:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2545:136:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2612:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2656:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2663:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "storage_set_to_zero_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2626:29:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2626:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2626:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2565:5:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "2572:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2562:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2562:14:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "2577:26:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2579:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2592:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2599:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2588:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2588:13:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulIdentifier", | |
| "src": "2579:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "2559:2:1", | |
| "statements": [] | |
| }, | |
| "src": "2555:120:1" | |
| } | |
| ] | |
| }, | |
| "name": "clear_storage_range_t_bytes1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "start", | |
| "nodeType": "YulTypedName", | |
| "src": "2533:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2540:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2495:186:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2766:464:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2792:431:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2806:54:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "2854:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "2822:31:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2822:38:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulTypedName", | |
| "src": "2810:8:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2873:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "2896:8:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulIdentifier", | |
| "src": "2924:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulIdentifier", | |
| "src": "2906:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2906:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2892:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2892:44:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2877:11:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3093:27:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3095:23:1", | |
| "value": { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "3110:8:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3095:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulIdentifier", | |
| "src": "3077:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3089:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3074:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3074:18:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3071:49:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "deleteStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataArea", | |
| "nodeType": "YulIdentifier", | |
| "src": "3179:8:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3207:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "divide_by_32_ceil", | |
| "nodeType": "YulIdentifier", | |
| "src": "3189:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3189:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3175:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3175:37:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "clear_storage_range_t_bytes1", | |
| "nodeType": "YulIdentifier", | |
| "src": "3133:28:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3133:80:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3133:80:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "2783:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2788:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2780:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2780:11:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2777:446:1" | |
| } | |
| ] | |
| }, | |
| "name": "clean_up_bytearray_end_slots_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "2742:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulTypedName", | |
| "src": "2749:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "startIndex", | |
| "nodeType": "YulTypedName", | |
| "src": "2754:10:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2687:543:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3299:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3309:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulIdentifier", | |
| "src": "3334:4:1" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3340:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3330:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3330:16:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "3309:8:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "shift_right_unsigned_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "bits", | |
| "nodeType": "YulTypedName", | |
| "src": "3274:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3280:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "newValue", | |
| "nodeType": "YulTypedName", | |
| "src": "3290:8:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3236:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3410:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3420:68:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3469:1:1", | |
| "type": "", | |
| "value": "8" | |
| }, | |
| { | |
| "name": "bytes", | |
| "nodeType": "YulIdentifier", | |
| "src": "3472:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "3465:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3465:13:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3484:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3480:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3480:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "shift_right_unsigned_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "3436:28:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3436:51:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3432:56:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "mask", | |
| "nodeType": "YulTypedName", | |
| "src": "3424:4:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3497:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3511:4:1" | |
| }, | |
| { | |
| "name": "mask", | |
| "nodeType": "YulIdentifier", | |
| "src": "3517:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3507:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3507:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "3497:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3387:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "bytes", | |
| "nodeType": "YulTypedName", | |
| "src": "3393:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "3403:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3359:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3614:214:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3747:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3774:4:1" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3780:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "3755:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3755:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3747:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3793:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3804:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3814:1:1", | |
| "type": "", | |
| "value": "2" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulIdentifier", | |
| "src": "3817:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "3810:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3810:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "3801:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3801:21:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "used", | |
| "nodeType": "YulIdentifier", | |
| "src": "3793:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "extract_used_part_and_set_length_of_short_byte_array", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3595:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "len", | |
| "nodeType": "YulTypedName", | |
| "src": "3601:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "used", | |
| "nodeType": "YulTypedName", | |
| "src": "3609:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3533:295:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3925:1303:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3936:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "3983:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3950:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3950:37:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulTypedName", | |
| "src": "3940:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4072:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "4074:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4074:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4074:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4044:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4052:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4041:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4041:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4038:56:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4104:52:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4150:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4144:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4144:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulIdentifier", | |
| "src": "4118:25:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4118:38:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "oldLen", | |
| "nodeType": "YulTypedName", | |
| "src": "4108:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4249:4:1" | |
| }, | |
| { | |
| "name": "oldLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4255:6:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4263:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "clean_up_bytearray_end_slots_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "4203:45:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4203:67:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4203:67:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4280:18:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4297:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulTypedName", | |
| "src": "4284:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4308:17:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4321:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4308:9:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "cases": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4372:611:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4386:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4405:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4417:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "4413:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4413:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4401:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4401:22:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "4390:7:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4437:51:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4483:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_dataslot_t_string_storage", | |
| "nodeType": "YulIdentifier", | |
| "src": "4451:31:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4451:37:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "4441:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4501:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4510:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "4505:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4569:163:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4594:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "4612:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4617:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4608:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4608:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4602:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4602:26:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4587:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4587:42:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4587:42:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4646:24:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4660:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4668:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4656:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4656:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4646:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4687:31:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4704:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4715:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4700:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4700:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4687:9:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4535:1:1" | |
| }, | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4538:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4532:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4532:14:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "4547:21:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4549:17:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4558:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4561:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4554:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4554:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "4549:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "4528:3:1", | |
| "statements": [] | |
| }, | |
| "src": "4524:208:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4768:156:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "4786:43:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "4813:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "4818:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4809:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4809:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "4803:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4803:26:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "lastValue", | |
| "nodeType": "YulTypedName", | |
| "src": "4790:9:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dstPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "4853:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "lastValue", | |
| "nodeType": "YulIdentifier", | |
| "src": "4880:9:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4895:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4903:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4891:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4891:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mask_bytes_dynamic", | |
| "nodeType": "YulIdentifier", | |
| "src": "4861:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4861:48:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4846:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4846:64:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4846:64:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "loopEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "4751:7:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4760:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4748:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4748:19:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4745:179:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "4944:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4958:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4966:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mul", | |
| "nodeType": "YulIdentifier", | |
| "src": "4954:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4954:14:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4970:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4950:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4950:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4937:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4937:36:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4937:36:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "4365:618:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4370:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5000:222:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "5014:14:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "5027:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "5018:5:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "5051:67:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "5069:35:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "5088:3:1" | |
| }, | |
| { | |
| "name": "srcOffset", | |
| "nodeType": "YulIdentifier", | |
| "src": "5093:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "5084:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5084:19:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "5078:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5078:26:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5069:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "5044:6:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "5041:77:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulIdentifier", | |
| "src": "5138:4:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "5197:5:1" | |
| }, | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "5204:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "extract_used_part_and_set_length_of_short_byte_array", | |
| "nodeType": "YulIdentifier", | |
| "src": "5144:52:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5144:67:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "5131:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "5131:81:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "5131:81:1" | |
| } | |
| ] | |
| }, | |
| "nodeType": "YulCase", | |
| "src": "4992:230:1", | |
| "value": "default" | |
| } | |
| ], | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "newLen", | |
| "nodeType": "YulIdentifier", | |
| "src": "4345:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4353:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4342:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4342:14:1" | |
| }, | |
| "nodeType": "YulSwitch", | |
| "src": "4335:887:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "slot", | |
| "nodeType": "YulTypedName", | |
| "src": "3914:4:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "3920:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3833:1395:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "60806040526040518060400160405280600981526020017f48656c6c6f576f72640000000000000000000000000000000000000000000000815250600090816200004a91906200034a565b5060166001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff856002557f80000000000000000000000000000000000000000000000000000000000000006003557f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600455348015620000c957600080fd5b5062000431565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200015257607f821691505b6020821081036200016857620001676200010a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001d27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000193565b620001de868362000193565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200022b620002256200021f84620001f6565b62000200565b620001f6565b9050919050565b6000819050919050565b62000247836200020a565b6200025f620002568262000232565b848454620001a0565b825550505050565b600090565b6200027662000267565b620002838184846200023c565b505050565b5b81811015620002ab576200029f6000826200026c565b60018101905062000289565b5050565b601f821115620002fa57620002c4816200016e565b620002cf8462000183565b81016020851015620002df578190505b620002f7620002ee8562000183565b83018262000288565b50505b505050565b600082821c905092915050565b60006200031f60001984600802620002ff565b1980831691505092915050565b60006200033a83836200030c565b9150826002028217905092915050565b6200035582620000d0565b67ffffffffffffffff811115620003715762000370620000db565b5b6200037d825462000139565b6200038a828285620002af565b600060209050601f831160018114620003c25760008415620003ad578287015190505b620003b985826200032c565b86555062000429565b601f198416620003d2866200016e565b60005b82811015620003fc57848901518255600182019150602085019450602081019050620003d5565b868310156200041c578489015162000418601f8916826200030c565b8355505b6001600288020188555050505b505050505050565b61046d80620004416000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632f64d386146100675780636c026f5914610085578063771602f7146100a35780639b6edcd2146100d3578063e5aa3d58146100f1578063ef753d1d1461010f575b600080fd5b61006f61012d565b60405161007c9190610279565b60405180910390f35b61008d6101bb565b60405161009a91906102b4565b60405180910390f35b6100bd60048036038101906100b8919061030a565b6101c1565b6040516100ca9190610359565b60405180910390f35b6100db6101d7565b6040516100e891906102b4565b60405180910390f35b6100f96101dd565b6040516101069190610359565b60405180910390f35b6101176101e3565b60405161012491906102b4565b60405180910390f35b6000805461013a906103a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610166906103a3565b80156101b35780601f10610188576101008083540402835291602001916101b3565b820191906000526020600020905b81548152906001019060200180831161019657829003601f168201915b505050505081565b60025481565b600081836101cf9190610403565b905092915050565b60045481565b60015481565b60035481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610223578082015181840152602081019050610208565b60008484015250505050565b6000601f19601f8301169050919050565b600061024b826101e9565b61025581856101f4565b9350610265818560208601610205565b61026e8161022f565b840191505092915050565b600060208201905081810360008301526102938184610240565b905092915050565b6000819050919050565b6102ae8161029b565b82525050565b60006020820190506102c960008301846102a5565b92915050565b600080fd5b6000819050919050565b6102e7816102d4565b81146102f257600080fd5b50565b600081359050610304816102de565b92915050565b60008060408385031215610321576103206102cf565b5b600061032f858286016102f5565b9250506020610340858286016102f5565b9150509250929050565b610353816102d4565b82525050565b600060208201905061036e600083018461034a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103bb57607f821691505b6020821081036103ce576103cd610374565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061040e826102d4565b9150610419836102d4565b9250828201905080821115610431576104306103d4565b5b9291505056fea2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F576F72640000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x0 SWAP1 DUP2 PUSH3 0x4A SWAP2 SWAP1 PUSH3 0x34A JUMP JUMPDEST POP PUSH1 0x16 PUSH1 0x1 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 PUSH1 0x2 SSTORE PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 PUSH1 0x3 SSTORE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x431 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x152 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x168 JUMPI PUSH3 0x167 PUSH3 0x10A JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x1D2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x193 JUMP JUMPDEST PUSH3 0x1DE DUP7 DUP4 PUSH3 0x193 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP 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 PUSH3 0x22B PUSH3 0x225 PUSH3 0x21F DUP5 PUSH3 0x1F6 JUMP JUMPDEST PUSH3 0x200 JUMP JUMPDEST PUSH3 0x1F6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x247 DUP4 PUSH3 0x20A JUMP JUMPDEST PUSH3 0x25F PUSH3 0x256 DUP3 PUSH3 0x232 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x1A0 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x276 PUSH3 0x267 JUMP JUMPDEST PUSH3 0x283 DUP2 DUP5 DUP5 PUSH3 0x23C JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x2AB JUMPI PUSH3 0x29F PUSH1 0x0 DUP3 PUSH3 0x26C JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x289 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2FA JUMPI PUSH3 0x2C4 DUP2 PUSH3 0x16E JUMP JUMPDEST PUSH3 0x2CF DUP5 PUSH3 0x183 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x2DF JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2F7 PUSH3 0x2EE DUP6 PUSH3 0x183 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x288 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x31F PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2FF JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x33A DUP4 DUP4 PUSH3 0x30C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x355 DUP3 PUSH3 0xD0 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x371 JUMPI PUSH3 0x370 PUSH3 0xDB JUMP JUMPDEST JUMPDEST PUSH3 0x37D DUP3 SLOAD PUSH3 0x139 JUMP JUMPDEST PUSH3 0x38A DUP3 DUP3 DUP6 PUSH3 0x2AF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x3C2 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x3AD JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x3B9 DUP6 DUP3 PUSH3 0x32C JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x429 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x3D2 DUP7 PUSH3 0x16E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3FC JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3D5 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x41C JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x418 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x30C JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x46D DUP1 PUSH3 0x441 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F64D386 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6C026F59 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x9B6EDCD2 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xEF753D1D EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x279 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x1BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x30A JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x117 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x13A SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x188 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x196 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x1CF SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x223 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x208 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP3 PUSH2 0x1E9 JUMP JUMPDEST PUSH2 0x255 DUP2 DUP6 PUSH2 0x1F4 JUMP JUMPDEST SWAP4 POP PUSH2 0x265 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x205 JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x22F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x293 DUP2 DUP5 PUSH2 0x240 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2AE DUP2 PUSH2 0x29B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E7 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x304 DUP2 PUSH2 0x2DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x321 JUMPI PUSH2 0x320 PUSH2 0x2CF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32F DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x340 DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x353 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x34A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3CE JUMPI PUSH2 0x3CD PUSH2 0x374 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x40E DUP3 PUSH2 0x2D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x419 DUP4 PUSH2 0x2D4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x431 JUMPI PUSH2 0x430 PUSH2 0x3D4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC ADD 0xD5 0xAE 0x29 BLOCKHASH CALLDATALOAD SHR DELEGATECALL 0xCC PUSH7 0x5EFAA75E29A407 PUSH14 0x4377745E7D626CC1A80ACFE26264 PUSH20 0x6F6C634300081100330000000000000000000000 ", | |
| "sourceMap": "62:338:0:-:0;;;87:32;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;141:2;125:18;;165:4;149:20;;194:13;175:32;;232:13;213:32;;62:338;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;62:338:0:-;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@add_39": { | |
| "entryPoint": 449, | |
| "id": 39, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "@i_7": { | |
| "entryPoint": 477, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@ii_11": { | |
| "entryPoint": 443, | |
| "id": 11, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@maxIn_25": { | |
| "entryPoint": 471, | |
| "id": 25, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@minIn_18": { | |
| "entryPoint": 483, | |
| "id": 18, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@word_4": { | |
| "entryPoint": 301, | |
| "id": 4, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 757, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256t_uint256": { | |
| "entryPoint": 778, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 2 | |
| }, | |
| "abi_encode_t_int256_to_t_int256_fromStack": { | |
| "entryPoint": 677, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 576, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 842, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { | |
| "entryPoint": 692, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 633, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 857, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 489, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 500, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "checked_add_t_uint256": { | |
| "entryPoint": 1027, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_int256": { | |
| "entryPoint": 667, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 724, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory_with_cleanup": { | |
| "entryPoint": 517, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 931, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x11": { | |
| "entryPoint": 980, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 884, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 719, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 559, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 734, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:4183:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "66:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "77:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "93:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "87:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "87:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "77:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "49:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "59:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "208:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "225:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "230:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "218:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "218:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "218:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "246:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "265:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "270:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "261:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "261:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "246:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "180:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "185:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "196:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "112:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "349:184:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "359:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "368:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "363:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "428:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "453:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "458:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "449:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "449:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "472:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "477:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "468:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "468:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "462:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "462:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "442:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "442:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "442:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "389:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "392:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "386:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "386:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "400:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "402:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "414:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "407:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "407:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "402:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "382:3:1", | |
| "statements": [] | |
| }, | |
| "src": "378:113:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "511:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "516:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "507:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "507:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "525:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "500:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "500:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "500:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory_with_cleanup", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "331:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "336:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "341:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "287:246:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "587:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "597:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "615:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "622:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "611:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "611:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "631:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "627:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "627:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "607:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "607:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "597:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "570:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "580:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "539:102:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "739:285:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "749:53:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "796:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "763:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "763:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "753:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "811:78:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "877:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "818:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "818:71:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "811:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "937:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "944:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "933:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "933:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "951:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "956:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory_with_cleanup", | |
| "nodeType": "YulIdentifier", | |
| "src": "898:34:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "898:65:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "898:65:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "972:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "983:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1010:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "988:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "988:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "979:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "979:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "972:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "720:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "727:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "735:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "647:377:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1148:195:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1158:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1170:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1181:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1166:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1166:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1158:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1205:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1216:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1201:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1201:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1224:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1230:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1220:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1220:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1194:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1194:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1194:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1250:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1322:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1331:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1258:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1258:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1250:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1120:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1132:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1143:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1030:313:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1393:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1403:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1414:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "1403:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_int256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1375:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "1385:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1349:76:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1494:52:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1511:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1533:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_int256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1516:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1516:23:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1504:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1504:36:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1504:36:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_int256_to_t_int256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1482:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1489:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1431:115:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1648:122:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1658:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1670:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1681:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1666:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1666:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1658:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1736:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1749:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1760:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1745:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1745:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_int256_to_t_int256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1694:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1694:69:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1694:69:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1620:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1632:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1643:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1552:218:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1816:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1826:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1842:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1836:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1836:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1826:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1809:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1776:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1946:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1963:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1966:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1956:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1956:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1956:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1857:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2069:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2086:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2089:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2079:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2079:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2079:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1980:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2148:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2158:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2169:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "2158:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2130:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "2140:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2103:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2229:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2286:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2295:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2298:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2288:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2288:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2288:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2252:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2277:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2259:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2259:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "2249:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2249:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2242:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2242:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2239:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2222:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2186:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2366:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2376:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2398:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2385:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2385:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2376:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2441:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2414:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2414:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2414:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2344:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "2352:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2360:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2314:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2542:391:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2588:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "2590:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2590:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2590:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2563:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2572:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "2559:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2559:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2584:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2555:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2555:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2552:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2681:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2696:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2710:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2700:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2725:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2760:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2771:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2756:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2756:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2780:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2735:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2735:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "2725:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "2808:118:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2823:16:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2837:2:1", | |
| "type": "", | |
| "value": "32" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "2827:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2853:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "2888:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "2899:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2884:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2884:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "2908:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "2863:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2863:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value1", | |
| "nodeType": "YulIdentifier", | |
| "src": "2853:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "2504:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "2515:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "2527:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value1", | |
| "nodeType": "YulTypedName", | |
| "src": "2535:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2459:474:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3004:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "3021:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3044:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "3026:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3026:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3014:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3014:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3014:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2992:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2999:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2939:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3161:124:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3171:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3183:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3194:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3179:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3179:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "3171:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "3251:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "3264:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3275:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3260:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3260:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "3207:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3207:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3207:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "3133:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "3145:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "3156:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3063:222:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3319:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3336:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3339:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3329:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3329:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3329:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3433:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3436:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3426:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3426:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3426:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3457:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3460:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3450:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3450:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3450:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3291:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3528:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3538:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3552:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3558:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "3548:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3548:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3538:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3569:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3599:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3605:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3595:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3595:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "3573:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3646:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3660:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3674:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3682:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3670:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3670:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3660:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3626:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3619:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3619:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3616:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3749:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "3763:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3763:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3763:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3713:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3736:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3744:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3733:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3733:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3710:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3710:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3707:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3512:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3521:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3477:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3831:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3848:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3851:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3841:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3841:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3841:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3945:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3948:4:1", | |
| "type": "", | |
| "value": "0x11" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3938:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3938:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3938:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3969:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3972:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3962:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3962:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3962:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3803:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4033:147:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4043:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4066:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4048:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4048:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4043:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4077:25:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4100:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "4082:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4082:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4077:1:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4111:16:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4122:1:1" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulIdentifier", | |
| "src": "4125:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4118:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4118:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "4111:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4151:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x11", | |
| "nodeType": "YulIdentifier", | |
| "src": "4153:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4153:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4153:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulIdentifier", | |
| "src": "4143:1:1" | |
| }, | |
| { | |
| "name": "sum", | |
| "nodeType": "YulIdentifier", | |
| "src": "4146:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "4140:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4140:10:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "4137:36:1" | |
| } | |
| ] | |
| }, | |
| "name": "checked_add_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "x", | |
| "nodeType": "YulTypedName", | |
| "src": "4020:1:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "y", | |
| "nodeType": "YulTypedName", | |
| "src": "4023:1:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "sum", | |
| "nodeType": "YulTypedName", | |
| "src": "4029:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3989:191:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function 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_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80632f64d386146100675780636c026f5914610085578063771602f7146100a35780639b6edcd2146100d3578063e5aa3d58146100f1578063ef753d1d1461010f575b600080fd5b61006f61012d565b60405161007c9190610279565b60405180910390f35b61008d6101bb565b60405161009a91906102b4565b60405180910390f35b6100bd60048036038101906100b8919061030a565b6101c1565b6040516100ca9190610359565b60405180910390f35b6100db6101d7565b6040516100e891906102b4565b60405180910390f35b6100f96101dd565b6040516101069190610359565b60405180910390f35b6101176101e3565b60405161012491906102b4565b60405180910390f35b6000805461013a906103a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610166906103a3565b80156101b35780601f10610188576101008083540402835291602001916101b3565b820191906000526020600020905b81548152906001019060200180831161019657829003601f168201915b505050505081565b60025481565b600081836101cf9190610403565b905092915050565b60045481565b60015481565b60035481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610223578082015181840152602081019050610208565b60008484015250505050565b6000601f19601f8301169050919050565b600061024b826101e9565b61025581856101f4565b9350610265818560208601610205565b61026e8161022f565b840191505092915050565b600060208201905081810360008301526102938184610240565b905092915050565b6000819050919050565b6102ae8161029b565b82525050565b60006020820190506102c960008301846102a5565b92915050565b600080fd5b6000819050919050565b6102e7816102d4565b81146102f257600080fd5b50565b600081359050610304816102de565b92915050565b60008060408385031215610321576103206102cf565b5b600061032f858286016102f5565b9250506020610340858286016102f5565b9150509250929050565b610353816102d4565b82525050565b600060208201905061036e600083018461034a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103bb57607f821691505b6020821081036103ce576103cd610374565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061040e826102d4565b9150610419836102d4565b9250828201905080821115610431576104306103d4565b5b9291505056fea2646970667358221220dc01d5ae2940351cf4cc665efaa75e29a4076d4377745e7d626cc1a80acfe26264736f6c63430008110033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2F64D386 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6C026F59 EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x771602F7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x9B6EDCD2 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0xE5AA3D58 EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0xEF753D1D EQ PUSH2 0x10F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x12D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7C SWAP2 SWAP1 PUSH2 0x279 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH2 0x1BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9A SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB8 SWAP2 SWAP1 PUSH2 0x30A JUMP JUMPDEST PUSH2 0x1C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCA SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDB PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF9 PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x106 SWAP2 SWAP1 PUSH2 0x359 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x117 PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x2B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x13A SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x166 SWAP1 PUSH2 0x3A3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x188 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x196 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x1CF SWAP2 SWAP1 PUSH2 0x403 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x223 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x208 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B DUP3 PUSH2 0x1E9 JUMP JUMPDEST PUSH2 0x255 DUP2 DUP6 PUSH2 0x1F4 JUMP JUMPDEST SWAP4 POP PUSH2 0x265 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x205 JUMP JUMPDEST PUSH2 0x26E DUP2 PUSH2 0x22F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x293 DUP2 DUP5 PUSH2 0x240 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2AE DUP2 PUSH2 0x29B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2C9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E7 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP2 EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x304 DUP2 PUSH2 0x2DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x321 JUMPI PUSH2 0x320 PUSH2 0x2CF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x32F DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x340 DUP6 DUP3 DUP7 ADD PUSH2 0x2F5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x353 DUP2 PUSH2 0x2D4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x36E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x34A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3BB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3CE JUMPI PUSH2 0x3CD PUSH2 0x374 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x40E DUP3 PUSH2 0x2D4 JUMP JUMPDEST SWAP2 POP PUSH2 0x419 DUP4 PUSH2 0x2D4 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x431 JUMPI PUSH2 0x430 PUSH2 0x3D4 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDC ADD 0xD5 0xAE 0x29 BLOCKHASH CALLDATALOAD SHR DELEGATECALL 0xCC PUSH7 0x5EFAA75E29A407 PUSH14 0x4377745E7D626CC1A80ACFE26264 PUSH20 0x6F6C634300081100330000000000000000000000 ", | |
| "sourceMap": "62:338:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;87:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;149:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;312:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;213:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;175:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;87;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;149:20::-;;;;:::o;312:86::-;363:4;390:1;386;:5;;;;:::i;:::-;379:12;;312:86;;;;:::o;213:32::-;;;;:::o;125:18::-;;;;:::o;175:32::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:76::-;1385:7;1414:5;1403:16;;1349:76;;;:::o;1431:115::-;1516:23;1533:5;1516:23;:::i;:::-;1511:3;1504:36;1431:115;;:::o;1552:218::-;1643:4;1681:2;1670:9;1666:18;1658:26;;1694:69;1760:1;1749:9;1745:17;1736:6;1694:69;:::i;:::-;1552:218;;;;:::o;1857:117::-;1966:1;1963;1956:12;2103:77;2140:7;2169:5;2158:16;;2103:77;;;:::o;2186:122::-;2259:24;2277:5;2259:24;:::i;:::-;2252:5;2249:35;2239:63;;2298:1;2295;2288:12;2239:63;2186:122;:::o;2314:139::-;2360:5;2398:6;2385:20;2376:29;;2414:33;2441:5;2414:33;:::i;:::-;2314:139;;;;:::o;2459:474::-;2527:6;2535;2584:2;2572:9;2563:7;2559:23;2555:32;2552:119;;;2590:79;;:::i;:::-;2552:119;2710:1;2735:53;2780:7;2771:6;2760:9;2756:22;2735:53;:::i;:::-;2725:63;;2681:117;2837:2;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2808:118;2459:474;;;;;:::o;2939:118::-;3026:24;3044:5;3026:24;:::i;:::-;3021:3;3014:37;2939:118;;:::o;3063:222::-;3156:4;3194:2;3183:9;3179:18;3171:26;;3207:71;3275:1;3264:9;3260:17;3251:6;3207:71;:::i;:::-;3063:222;;;;:::o;3291:180::-;3339:77;3336:1;3329:88;3436:4;3433:1;3426:15;3460:4;3457:1;3450:15;3477:320;3521:6;3558:1;3552:4;3548:12;3538:22;;3605:1;3599:4;3595:12;3626:18;3616:81;;3682:4;3674:6;3670:17;3660:27;;3616:81;3744:2;3736:6;3733:14;3713:18;3710:38;3707:84;;3763:18;;:::i;:::-;3707:84;3528:269;3477:320;;;:::o;3803:180::-;3851:77;3848:1;3841:88;3948:4;3945:1;3938:15;3972:4;3969:1;3962:15;3989:191;4029:3;4048:20;4066:1;4048:20;:::i;:::-;4043:25;;4082:20;4100:1;4082:20;:::i;:::-;4077:25;;4125:1;4122;4118:9;4111:16;;4146:3;4143:1;4140:10;4137:36;;;4153:18;;:::i;:::-;4137:36;3989:191;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "226600", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "add(uint256,uint256)": "infinite", | |
| "i()": "2495", | |
| "ii()": "2429", | |
| "maxIn()": "2473", | |
| "minIn()": "2517", | |
| "word()": "infinite" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "add(uint256,uint256)": "771602f7", | |
| "i()": "e5aa3d58", | |
| "ii()": "6c026f59", | |
| "maxIn()": "9b6edcd2", | |
| "minIn()": "ef753d1d", | |
| "word()": "2f64d386" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "x", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "y", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "add", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "i", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "ii", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "maxIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "minIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "word", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "compiler": { | |
| "version": "0.8.17+commit.8df45f5f" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "x", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "y", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "add", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "pure", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "i", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "ii", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "maxIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "minIn", | |
| "outputs": [ | |
| { | |
| "internalType": "int256", | |
| "name": "", | |
| "type": "int256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "word", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/helloWorld.sol": "HelloWord" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/helloWorld.sol": { | |
| "keccak256": "0x408cac86fb8c7b19fcbd13ea16ab70bded84e99355b799309f2634488fa4d73e", | |
| "license": "GPL-3.0", | |
| "urls": [ | |
| "bzz-raw://e2edb929ea010e8e96817658707f7e217c2bcb0b52b6af58f8dc9d60529a710a", | |
| "dweb:/ipfs/QmPX7xasQUokeHjXexWQWXronvYiSZY6zPzBkDnkXkr5Xh" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": {}, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "6080604052348015600f57600080fd5b50606180601d6000396000f3fe608060405260043610601c5760003560e01c80631998aeef146021575b600080fd5b60276029565b005b56fea2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x61 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1998AEEF EQ PUSH1 0x21 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x27 PUSH1 0x29 JUMP JUMPDEST STOP JUMPDEST JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDMOD 0x2C 0x22 DUP1 0xAB CALLDATACOPY RETURN 0xB0 SWAP5 0x4B PUSH10 0x15E965D89C359DEDF66C PUSH21 0xDAF8534A4456FB0DE09864736F6C63430008070033 ", | |
| "sourceMap": "70:98:0:-:0;;;;;;;;;;;;;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@bid_7": { | |
| "entryPoint": 41, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405260043610601c5760003560e01c80631998aeef146021575b600080fd5b60276029565b005b56fea2646970667358221220082c2280ab37f3b0944b6915e965d89c359dedf66c74daf8534a4456fb0de09864736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1998AEEF EQ PUSH1 0x21 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x27 PUSH1 0x29 JUMP JUMPDEST STOP JUMPDEST JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDMOD 0x2C 0x22 DUP1 0xAB CALLDATACOPY RETURN 0xB0 SWAP5 0x4B PUSH10 0x15E965D89C359DEDF66C PUSH21 0xDAF8534A4456FB0DE09864736F6C63430008070033 ", | |
| "sourceMap": "70:98:0:-:0;;;;;;;;;;;;;;;;;;;;;121:45;;;:::i;:::-;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "19400", | |
| "executionCost": "75", | |
| "totalCost": "19475" | |
| }, | |
| "external": { | |
| "bid()": "98" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "bid()": "1998aeef" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "bid", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "compiler": { | |
| "version": "0.8.7+commit.e28d00a7" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "bid", | |
| "outputs": [], | |
| "stateMutability": "payable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/excise.sol": "SimpleStorage" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/excise.sol": { | |
| "keccak256": "0xabddd3fc1206a85163503beace7b14a00564dc3f9deffc49fe2e4a6389016e54", | |
| "license": "GPL-3.0", | |
| "urls": [ | |
| "bzz-raw://aa7a9bdba208d01d13af55fb96019b12118207372cc53cb74b18983884b2391a", | |
| "dweb:/ipfs/QmPZe7wcixEvVUVbuo9aWsUFxoX1SnRCwPJcHtrgS28Y9r" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| contract SimpleStorage { | |
| uint storedData; | |
| // event Hig | |
| function bid() public payable{ | |
| } | |
| address payable x = payable(0x123); | |
| address myAddress = address(this); | |
| // if (x.balance < 10) && | |
| } | |
| // function testOne (uint x) pure return () |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity 0.8.17; | |
| contract HelloWord { | |
| string public word = "HelloWord"; | |
| uint public i = 22; | |
| int public ii = -123; | |
| int public minIn = type(int).min; | |
| int public maxIn = type(int).max; | |
| // address public addr = | |
| // bytes32 public b32 = | |
| // | |
| function add(uint x, uint y) external pure returns(uint) { | |
| return x + y; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This script can be used to deploy the "Storage" contract using ethers.js library. | |
| // Please make sure to compile "./contracts/1_Storage.sol" file before running this script. | |
| // And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S | |
| import { deploy } from './ethers-lib' | |
| (async () => { | |
| try { | |
| const result = await deploy('Storage', []) | |
| console.log(`address: ${result.address}`) | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This script can be used to deploy the "Storage" contract using Web3 library. | |
| // Please make sure to compile "./contracts/1_Storage.sol" file before running this script. | |
| // And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S | |
| import { deploy } from './web3-lib' | |
| (async () => { | |
| try { | |
| const result = await deploy('Storage', []) | |
| console.log(`address: ${result.address}`) | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { ethers } from 'ethers' | |
| /** | |
| * Deploy the given contract | |
| * @param {string} contractName name of the contract to deploy | |
| * @param {Array<any>} args list of constructor' parameters | |
| * @param {Number} accountIndex account index from the exposed account | |
| * @return {Contract} deployed contract | |
| */ | |
| export const deploy = async (contractName: string, args: Array<any>, accountIndex?: number): Promise<ethers.Contract> => { | |
| console.log(`deploying ${contractName}`) | |
| // 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(accountIndex) | |
| const factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer) | |
| const contract = await factory.deploy(...args) | |
| // The contract is NOT deployed yet; we must wait until it is mined | |
| await contract.deployed() | |
| return contract | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Web3 from 'web3' | |
| import { Contract, ContractSendMethod, Options } from 'web3-eth-contract' | |
| /** | |
| * Deploy the given contract | |
| * @param {string} contractName name of the contract to deploy | |
| * @param {Array<any>} args list of constructor' parameters | |
| * @param {string} from account used to send the transaction | |
| * @param {number} gas gas limit | |
| * @return {Options} deployed contract | |
| */ | |
| export const deploy = async (contractName: string, args: Array<any>, from?: string, gas?: number): Promise<Options> => { | |
| const web3 = new Web3(web3Provider) | |
| console.log(`deploying ${contractName}`) | |
| // 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` | |
| const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
| const accounts = await web3.eth.getAccounts() | |
| const contract: Contract = new web3.eth.Contract(metadata.abi) | |
| const contractSend: ContractSendMethod = contract.deploy({ | |
| data: metadata.data.bytecode.object, | |
| arguments: args | |
| }) | |
| const newContractInstance = await contractSend.send({ | |
| from: from || accounts[0], | |
| gas: gas || 1500000 | |
| }) | |
| return newContractInstance.options | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| import "remix_tests.sol"; // this import is automatically injected by Remix. | |
| import "hardhat/console.sol"; | |
| 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 { | |
| console.log("Running checkWinningProposal"); | |
| ballotToTest.vote(0); | |
| Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); | |
| Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); | |
| } | |
| function checkWinninProposalWithReturnValue () public view returns (bool) { | |
| return ballotToTest.winningProposal() == 0; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Right click on the script name and hit "Run" to execute | |
| const { expect } = require("chai"); | |
| const { ethers } = require("hardhat"); | |
| describe("Storage", function () { | |
| it("test initial value", async function () { | |
| const Storage = await ethers.getContractFactory("Storage"); | |
| const storage = await Storage.deploy(); | |
| await storage.deployed(); | |
| console.log('storage deployed at:'+ storage.address) | |
| expect((await storage.retrieve()).toNumber()).to.equal(0); | |
| }); | |
| it("test updating and retrieving updated value", async function () { | |
| const Storage = await ethers.getContractFactory("Storage"); | |
| const storage = await Storage.deploy(); | |
| await storage.deployed(); | |
| const storage2 = await ethers.getContractAt("Storage", storage.address); | |
| const setValue = await storage2.store(56); | |
| await setValue.wait(); | |
| expect((await storage2.retrieve()).toNumber()).to.equal(56); | |
| }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment